Mozilla Cross-Reference mozilla
mozilla/ xpfe/ global/ resources/ content/ globalOverlay.js
CVS Log
CVS Blame
CVS Graph
Diff file
Raw file
changes to
this file in
the last:
day
week
month
view using tree:
1 function goQuitApplication()
2 {
3   var ObserverService = Components.classes["@mozilla.org/observer-service;1"].getService();
4   ObserverService = ObserverService.QueryInterface(Components.interfaces.nsIObserverService);
5   if (ObserverService)
6   {
7     try
8     {
9       // XXX FIX! we should have a way to cancel a requested quit; see
10       // bugzilla bug 149764
11       ObserverService.notifyObservers(null, "quit-application-requested", null);
12     }
13     catch (ex)
14     {
15       // dump("no observer found \n");
16     }
17   }
18 
19   var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService();
20   var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);
21   var enumerator = windowManagerInterface.getEnumerator( null );
22   var appStartup = Components.classes["@mozilla.org/toolkit/app-startup;1"].
23                      getService(Components.interfaces.nsIAppStartup);
24 
25   var nativeAppSupport = null;
26   try {
27     nativeAppSupport = appStartup.nativeAppSupport;
28   }
29   catch ( ex ) {
30   }
31 
32   while ( enumerator.hasMoreElements()  )
33   {
34      var domWindow = enumerator.getNext();
35      if (("tryToClose" in domWindow) && !domWindow.tryToClose())
36        return false;
37      domWindow.close();
38   };
39   if (!nativeAppSupport || !nativeAppSupport.isServerMode)
40     appStartup.quit(Components.interfaces.nsIAppStartup.eAttemptQuit);
41   return true;
42 }
43 
44 //
45 // Command Updater functions
46 //
47 function goUpdateCommand(command)
48 {
49   try {
50     var controller = top.document.commandDispatcher.getControllerForCommand(command);
51 
52     var enabled = false;
53 
54     if ( controller )
55       enabled = controller.isCommandEnabled(command);
56 
57     goSetCommandEnabled(command, enabled);
58   }
59   catch (e) {
60     dump("An error occurred updating the "+command+" command\n");
61   }
62 }
63 
64 function goDoCommand(command)
65 {
66   try {
67     var controller = top.document.commandDispatcher.getControllerForCommand(command);
68     if ( controller && controller.isCommandEnabled(command))
69       controller.doCommand(command);
70   }
71   catch (e) {
72     dump("An error occurred executing the " + command + " command\n" + e + "\n");
73   }
74 }
75 
76 
77 function goSetCommandEnabled(id, enabled)
78 {
79   var node = document.getElementById(id);
80 
81   if ( node )
82   {
83     if ( enabled )
84       node.removeAttribute("disabled");
85     else
86       node.setAttribute('disabled', 'true');
87   }
88 }
89 
90 function goSetMenuValue(command, labelAttribute)
91 {
92   var commandNode = top.document.getElementById(command);
93   if ( commandNode )
94   {
95     var label = commandNode.getAttribute(labelAttribute);
96     if ( label )
97       commandNode.setAttribute('label', label);
98   }
99 }
100 
101 function goSetAccessKey(command, valueAttribute)
102 {
103   var commandNode = top.document.getElementById(command);
104   if ( commandNode )
105   {
106     var value = commandNode.getAttribute(valueAttribute);
107     if ( value )
108       commandNode.setAttribute('accesskey', value);
109   }
110 }
111 
112 // this function is used to inform all the controllers attached to a node that an event has occurred
113 // (e.g. the tree controllers need to be informed of blur events so that they can change some of the
114 // menu items back to their default values)
115 function goOnEvent(node, event)
116 {
117   var numControllers = node.controllers.getControllerCount();
118   var controller;
119 
120   for ( var controllerIndex = 0; controllerIndex < numControllers; controllerIndex++ )
121   {
122     controller = node.controllers.getControllerAt(controllerIndex);
123     if ( controller )
124       controller.onEvent(event);
125   }
126 }
127 
128 function setTooltipText(aID, aTooltipText)
129 {
130   var element = document.getElementById(aID);
131   if (element)
132     element.setAttribute("tooltiptext", aTooltipText);
133 }
134 
135 function FillInTooltip ( tipElement )
136 {
137   var retVal = false;
138   var textNode = document.getElementById("TOOLTIP-tooltipText");
139   if (textNode) {
140     while (textNode.hasChildNodes())
141       textNode.removeChild(textNode.firstChild);
142     var tipText = tipElement.getAttribute("tooltiptext");
143     if (tipText) {
144       var node = document.createTextNode(tipText);
145       textNode.appendChild(node);
146       retVal = true;
147     }
148   }
149   return retVal;
150 }
151