1 | ///////////////////////////////////////////////////////////////////// |
---|
2 | ///////////////////////////////////////////////////////////////////// |
---|
3 | var mcTreeRootFolder = { |
---|
4 | |
---|
5 | get idMENU() { return "mcToolbarRootFolderButton"; }, |
---|
6 | get idMENU_ALL() { return "mcMenuRootFolderAll"; }, |
---|
7 | get idMENU_SELECT() { return "mcMenuRootFolderSelect"; }, |
---|
8 | get idMENU_ROOT() { return "mcPopupRootFolder"; }, |
---|
9 | get idMENU_POPUP() { return "mcMenuRootFolderPopup"; }, |
---|
10 | get MENU() { return document.getElementById(this.idMENU); }, |
---|
11 | get MENU_ALL() { return document.getElementById(this.idMENU_ALL); }, |
---|
12 | get MENU_SELECT() { return document.getElementById(this.idMENU_SELECT); }, |
---|
13 | get MENU_ROOT() { return document.getElementById(this.idMENU_ROOT); }, |
---|
14 | get MENU_POPUP() { return document.getElementById(this.idMENU_POPUP); }, |
---|
15 | get TITLE() { return window.top.document.getElementById("sidebar-title"); }, |
---|
16 | |
---|
17 | get DataSource() { return window.top.bitsObjectMng.DataSource; }, |
---|
18 | get Common() { return window.top.bitsObjectMng.Common; }, |
---|
19 | get XPath() { return window.top.bitsObjectMng.XPath; }, |
---|
20 | get Database() { return window.top.bitsObjectMng.Database; }, |
---|
21 | get gBrowser() { return window.top.bitsObjectMng.getBrowser();}, |
---|
22 | |
---|
23 | baseURL : "", |
---|
24 | shouldRebuild : false, |
---|
25 | |
---|
26 | init : function(){ |
---|
27 | if(mcItemView.isChecked){ |
---|
28 | mcTreeRootFolder.MENU_ROOT.setAttribute("hidden","true"); |
---|
29 | }else{ |
---|
30 | mcTreeRootFolder.MENU_ROOT.removeAttribute("hidden"); |
---|
31 | } |
---|
32 | }, |
---|
33 | |
---|
34 | rebuild : function(){}, |
---|
35 | |
---|
36 | onPopupShowing : function(aEvent, aPopupRoot){ |
---|
37 | var res = mcTreeHandler.resource; |
---|
38 | try{ |
---|
39 | if(!res){ |
---|
40 | mcTreeRootFolder.MENU_SELECT.setAttribute("disabled","true"); |
---|
41 | }else{ |
---|
42 | if(mcTreeHandler.TREE.view.isContainerEmpty(mcTreeHandler.TREE.currentIndex)) |
---|
43 | mcTreeRootFolder.MENU_SELECT.setAttribute("disabled","true"); |
---|
44 | else |
---|
45 | mcTreeRootFolder.MENU_SELECT.removeAttribute("disabled"); |
---|
46 | } |
---|
47 | }catch(e){ |
---|
48 | mcTreeRootFolder.MENU_SELECT.setAttribute("disabled","true"); |
---|
49 | } |
---|
50 | }, |
---|
51 | |
---|
52 | onClick : function(aEvent){ |
---|
53 | if(aEvent.target.id == mcTreeRootFolder.idMENU){ |
---|
54 | return; |
---|
55 | }else if(aEvent.target.id == mcTreeRootFolder.idMENU_ALL){ |
---|
56 | nsPreferences.setUnicharPref("wiredmarker.rootfolder", ""); |
---|
57 | nsPreferences.setUnicharPref("wiredmarker.rootfolder_dbtype", ""); |
---|
58 | mcTreeViewModeService.rebuild(); |
---|
59 | }else if(aEvent.target.id == mcTreeRootFolder.idMENU_SELECT){ |
---|
60 | var res = mcTreeHandler.resource; |
---|
61 | if(!res) return; |
---|
62 | var baseID = this.DataSource.getProperty(res, "id"); |
---|
63 | var dbtype = this.DataSource.getProperty(res, "dbtype"); |
---|
64 | var title = this.DataSource.getProperty(res, "title"); |
---|
65 | nsPreferences.setUnicharPref("wiredmarker.rootfolder", baseID); |
---|
66 | nsPreferences.setUnicharPref("wiredmarker.rootfolder_dbtype", dbtype); |
---|
67 | mcTreeViewModeService.rebuild(); |
---|
68 | }else{ |
---|
69 | var disabled = aEvent.target.getAttribute("disabled"); |
---|
70 | if(disabled == "true") return; |
---|
71 | var res = this.Common.RDF.GetResource(aEvent.target.id) |
---|
72 | var baseID = this.DataSource.getProperty(res, "id"); |
---|
73 | var dbtype = this.DataSource.getProperty(res, "dbtype"); |
---|
74 | var title = this.DataSource.getProperty(res, "title"); |
---|
75 | nsPreferences.setUnicharPref("wiredmarker.rootfolder", baseID); |
---|
76 | nsPreferences.setUnicharPref("wiredmarker.rootfolder_dbtype", dbtype); |
---|
77 | mcTreeViewModeService.rebuild(); |
---|
78 | this.MENU_POPUP.hidePopup(); |
---|
79 | } |
---|
80 | aEvent.stopPropagation(); |
---|
81 | }, |
---|
82 | |
---|
83 | _changeTitle : function(aTitle){ |
---|
84 | var label = ""; |
---|
85 | var viewmode = mcTreeViewModeService.viewmode; |
---|
86 | switch (viewmode){ |
---|
87 | case "each" : |
---|
88 | label = mcTreeViewModeService.EACH.getAttribute("label"); |
---|
89 | break; |
---|
90 | case "single" : |
---|
91 | label = mcTreeViewModeService.SINGLE.getAttribute("label"); |
---|
92 | break; |
---|
93 | default : |
---|
94 | label = mcTreeViewModeService.ALL.getAttribute("label"); |
---|
95 | break; |
---|
96 | } |
---|
97 | var title = aTitle; |
---|
98 | if(!title) title = mcMainService.STRING.getString("DEFAULT_FOLDER"); |
---|
99 | var button_title = mcMainService.STRING.getString("APP_DISP_TITLE"); |
---|
100 | button_title += " [ " + label + " ]" + " [ " + title + " ]"; |
---|
101 | this.TITLE.setAttribute("value",button_title); |
---|
102 | }, |
---|
103 | |
---|
104 | }; |
---|
105 | |
---|