This commit is contained in:
Christian Paminger
2011-10-07 08:18:50 +00:00
parent c4e2142427
commit d513512768
12 changed files with 545 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
[App]
Name=FHC-Planner
ID=planner@technikum-wien.at
Version=0.1
BuildID=20110901
Vendor=FH Technikum Wien
Copyright=Copyright (c) 2004-2011 FH TW
[Gecko]
MinVersion=1.0
MaxVersion=7.0
[XRE]
EnableExtensionManager=1
+9
View File
@@ -0,0 +1,9 @@
content planner chrome/content/
skin planner classic/1.0 chrome/skin/
overlay chrome://browser/content/browser.xul chrome://planner/content/browser-overlay.xul
style chrome://browser/content/browser.xul chrome://planner/skin/planner.css
overlay chrome://navigator/content/navigator.xul chrome://planner/content/browser-overlay.xul
locale planner en-US chrome/locale/en-US/
locale planner de-AT chrome/locale/de-AT/
+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<!DOCTYPE dialog SYSTEM "chrome://planner/locale/about.dtd">
<dialog title="&about; FHC-Planner" orient="vertical" autostretch="always" onload="sizeToContent()" buttons="accept" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<groupbox align="center" orient="horizontal">
<vbox>
<text value="FHC-Planner" style="font-weight: bold; font-size: x-large;"/>
<text value="&version; 1.0"/>
<separator class="thin"/>
<text value="&createdBy;" style="font-weight: bold;"/>
<text value="Christian Paminger"/>
<separator class="thin"/>
</vbox>
</groupbox>
</dialog>
+21
View File
@@ -0,0 +1,21 @@
var planner = {
onLoad: function() {
// initialization code
this.initialized = true;
this.strings = document.getElementById("planner-strings");
},
onMenuItemCommand: function(e) {
var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
.getService(Components.interfaces.nsIPromptService);
promptService.alert(window, this.strings.getString("helloMessageTitle"),
this.strings.getString("helloMessage"));
},
onToolbarButtonCommand: function(e) {
// just reuse the function above. you can change this, obviously!
planner.onMenuItemCommand(e);
}
};
window.addEventListener("load", planner.onLoad, false);
+31
View File
@@ -0,0 +1,31 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://planner/skin/planner.css" type="text/css"?>
<!DOCTYPE overlay SYSTEM "chrome://planner/locale/planner.dtd">
<overlay id="overlay-planner"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<!--<script type="application/x-javascript" src="chrome://planner/content/browser-overlay.js"/>-->
<script type="application/x-javascript">
var PlannerStart = function()
{
var winref=window.open('chrome://planner/content/planner.xul', 'window-planner', 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1');
}
</script>
<menupopup id="menu_ToolsPopup">
<menuitem id="menutitem-toolbar-planner" label="Planner" key="planner-run-key" oncommand="PlannerStart()"/>
</menupopup>
<menupopup id="windowPopup">
<menuitem id="menutitem-toolbar-planner" insertafter="tb-chatzilla-menu" label="Planner" key="planner-run-key" oncommand="PlannerStart()"/>
</menupopup>
<keyset>
<key id="key-planner-run" modifiers="accel alt shift" key="P" oncommand="PlannerStart()"/>
</keyset>
<window id="main-window">
<vbox id="browser-bottombox">
<toolbarbutton insertbefore="status-bar" id="planner-toolbar-button" class="statusbarpanel-iconic" label="Planner" src="chrome://planner/skin/planner.png" tooltiptext="runplanner" oncommand="PlannerStart()"/>
</vbox>
</window>
</overlay>
+293
View File
@@ -0,0 +1,293 @@
var FileController = {
_app : null,
init : function(aApp) {
this._app = aApp;
},
supportsCommand : function(cmd) {
var isSupported = false;
switch (cmd) {
case "cmd_pageSetup":
case "cmd_print":
case "cmd_exit":
isSupported = true;
break;
default:
isSupported = false;
break;
}
return isSupported;
},
isCommandEnabled : function(cmd) {
return true;
},
doCommand : function(cmd) {
switch (cmd) {
case "cmd_pageSetup":
{
PrintUtils.showPageSetup();
break;
}
case "cmd_print":
{
PrintUtils.print();
break;
}
case "cmd_exit":
{
if (this._app.shutdownQuery() == false) {
return;
}
var aForceQuit = false;
var appStartup = Components.classes['@mozilla.org/toolkit/app-startup;1'].getService(Components.interfaces.nsIAppStartup);
// eAttemptQuit will try to close each XUL window, but the XUL window can cancel the quit
// process if there is unsaved data. eForceQuit will quit no matter what.
var quitSeverity = aForceQuit ? Components.interfaces.nsIAppStartup.eForceQuit : Components.interfaces.nsIAppStartup.eAttemptQuit;
appStartup.quit(quitSeverity);
break;
}
}
}
};
var ToolsController = {
_app : null,
init : function(aApp) {
this._app = aApp;
},
supportsCommand : function(cmd) {
var isSupported = false;
switch (cmd) {
case "cmd_options":
isSupported = true;
break;
default:
isSupported = false;
break;
}
return isSupported;
},
isCommandEnabled : function(cmd) {
return true;
},
doCommand : function(cmd) {
switch (cmd) {
case "cmd_options":
{
window.openDialog("chrome://planner/content/options.xul", "options", "centerscreen,modal");
break;
}
}
}
};
var HelpController = {
_app : null,
init : function(aApp) {
this._app = aApp;
},
supportsCommand : function(cmd) {
var isSupported = false;
switch (cmd) {
case "cmd_about":
isSupported = true;
break;
default:
isSupported = false;
break;
}
return isSupported;
},
isCommandEnabled : function(cmd) {
return true;
},
doCommand : function(cmd) {
switch (cmd) {
case "cmd_about":
{
window.openDialog("chrome://planner/content/about.xul", "about", "centerscreen,modal");
break;
}
}
}
};
/**
* Command Updater
*/
var CommandUpdater = {
/**
* Gets a controller that can handle a particular command.
* @param command
* A command to locate a controller for, preferring controllers that
* show the command as enabled.
* @returns In this order of precedence:
* - the first controller supporting the specified command
* associated with the focused element that advertises the
* command as ENABLED
* - the first controller supporting the specified command
* associated with the global window that advertises the
* command as ENABLED
* - the first controller supporting the specified command
* associated with the focused element
* - the first controller supporting the specified command
* associated with the global window
*/
_getControllerForCommand: function(command) {
try {
var controller = top.document.commandDispatcher.getControllerForCommand(command);
if (controller && controller.isCommandEnabled(command))
return controller;
}
catch(e) {
}
var controllerCount = window.controllers.getControllerCount();
for (var i = 0; i < controllerCount; ++i) {
var current = window.controllers.getControllerAt(i);
try {
if (current.supportsCommand(command) && current.isCommandEnabled(command))
return current;
}
catch (e) {
}
}
return controller || window.controllers.getControllerForCommand(command);
},
/**
* Updates the state of a XUL <command> element for the specified command
* depending on its state.
* @param command
* The name of the command to update the XUL <command> element for
*/
updateCommand: function(command) {
var enabled = false;
try {
var controller = this._getControllerForCommand(command);
if (controller) {
enabled = controller.isCommandEnabled(command);
}
}
catch(ex) { }
this.enableCommand(command, enabled);
},
/**
* Updates the state of a XUL <command> element for the specified command
* depending on its state.
* @param command
* The name of the command to update the XUL <command> element for
*/
updateCommands: function(_commands) {
var commands = _commands.split(",");
for (var command in commands) {
this.updateCommand(commands[command]);
}
},
/**
* Enables or disables a XUL <command> element.
* @param command
* The name of the command to enable or disable
* @param enabled
* true if the command should be enabled, false otherwise.
*/
enableCommand: function(command, enabled) {
var element = document.getElementById(command);
if (!element)
return;
if (enabled)
element.removeAttribute("disabled");
else
element.setAttribute("disabled", "true");
},
/**
* Performs the action associated with a specified command using the most
* relevant controller.
* @param command
* The command to perform.
*/
doCommand: function(command) {
var controller = this._getControllerForCommand(command);
if (!controller)
return;
controller.doCommand(command);
},
/**
* Changes the label attribute for the specified command.
* @param command
* The command to update.
* @param labelAttribute
* The label value to use.
*/
setMenuValue: function(command, labelAttribute) {
var commandNode = top.document.getElementById(command);
if (commandNode)
{
var label = commandNode.getAttribute(labelAttribute);
if ( label )
commandNode.setAttribute('label', label);
}
},
/**
* Changes the accesskey attribute for the specified command.
* @param command
* The command to update.
* @param valueAttribute
* The value attribute to use.
*/
setAccessKey: function(command, valueAttribute) {
var commandNode = top.document.getElementById(command);
if (commandNode)
{
var value = commandNode.getAttribute(valueAttribute);
if ( value )
commandNode.setAttribute('accesskey', value);
}
},
/**
* Inform all the controllers attached to a node that an event has occurred
* (e.g. the tree controllers need to be informed of blur events so that they can change some of the
* menu items back to their default values)
* @param node
* The node receiving the event
* @param event
* The event.
*/
onEvent: function(node, event) {
var numControllers = node.controllers.getControllerCount();
var controller;
for ( var controllerIndex = 0; controllerIndex < numControllers; controllerIndex++ )
{
controller = node.controllers.getControllerAt(controllerIndex);
if ( controller )
controller.onEvent(event);
}
}
};
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<!DOCTYPE prefwindow SYSTEM "chrome://planner/locale/options.dtd">
<prefwindow id="planner-preferences" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" title="&prefwindow.title;">
<prefpane id="pane1" label="&pane1.title;">
<preferences>
<preference id="boolpref1" name="extensions.planner.boolpref" type="bool"/>
<preference id="intpref1" name="extensions.planner.intpref" type="int"/>
<preference id="stringpref1" name="extensions.planner.stringpref" type="string"/> <!-- note that this is only an ASCII string - use unichar for unicode strings -->
</preferences>
<checkbox id="checkboolpref" preference="boolpref1" label="&checkboolpref.label;" accesskey="&checkboolpref.accesskey;"/>
<label accesskey="&intpref.accesskey;" control="textintpref">&intpref.label;</label><textbox id="textintpref" preference="intpref1"/>
<label accesskey="&stringpref.accesskey;" control="textstringpref">&stringpref.label;</label><textbox id="textstringpref" preference="stringpref1"/>
</prefpane>
</prefwindow>
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="planner" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="Planner"
width="800"
height="600"
persist="screenX screenY width height sizemode"
>
<browser flex="2" type="content-primary" src="https://vilesci.technikum-wien.at/content/planner.xul.php" />
</window>
+66
View File
@@ -0,0 +1,66 @@
treechildren::-moz-tree-cell(makeItGreen)
{
background-color: #88FF88;
}
treechildren::-moz-tree-cell(makeItRed)
{
background-color: #FFAAAA;
}
treechildren::-moz-tree-cell(makeItBlue)
{
background-color: #9999FF;
}
treechildren::-moz-tree-cell(makeItYellow)
{
background-color: #FFFF99;
}
#motorsport-manager-toolbar-button {
list-style-image: URL("chrome://motorsportmanager/skin/toolbar-large.png");
}
#motorsport-manager-status-bar-icon {
width: 83px;
margin: 0 5px;
}
.motorsport-manager-selected {
outline: 2px solid red !important;
}
label.gesenkt
{
border-style:solid;
border-width:1px;
background-color:#33FF33;
text-align:center;
}
label.normal
{
border-style:solid;
border-width:1px;
background-color:#FFFF33;
text-align:center;
}
label.erhoeht
{
border-style:solid;
border-width:1px;
background-color:#FF3333;
text-align:center;
}
textbox
{
max-height:1.6em;
}
button
{
max-height:1.8em;
}
grid
{
margin:0px;
padding:0px;
border:0px;
}
View File
+36
View File
@@ -0,0 +1,36 @@
// pref("toolkit.defaultChromeURI", "https://user:pass@vilesci.technikum-wien.at/content/planner.xul.php");
// Entry Point for Extension
pref("toolkit.defaultChromeURI", "chrome://planner/content/browser-overlay.xul");
// Entry Point for Browser
// pref("browser.chromeURL", "chrome://planner/content/planner.xul")
/* debugging prefs */
pref("browser.dom.window.dump.enabled", true);
pref("javascript.options.showInConsole", true);
pref("javascript.options.strict", true);
pref("nglayout.debug.disable_xul_cache", true);
pref("nglayout.debug.disable_xul_fastload", true);
/* added to allow <label class="text-links" ... /> to work */
pref("network.protocol-handler.expose.http", false);
pref("network.protocol-handler.warn-external.http", false);
/* Remote XUL */
user_pref("signed.applets.codebase_principal_support", true);
user_pref("capability.principal.codebase.p0.granted", "UniversalXPConnect");
user_pref("capability.principal.codebase.p0.id", "http://fhcomplete.technikum-wien.at");
user_pref("capability.principal.codebase.p0.subjectName", "");
user_pref("capability.principal.codebase.p1.granted", "UniversalXPConnect");
user_pref("capability.principal.codebase.p1.id", "http://calva.technikum-wien.at");
user_pref("capability.principal.codebase.p1.subjectName", "");
user_pref("capability.principal.codebase.p2.granted", "UniversalXPConnect");
user_pref("capability.principal.codebase.p2.id", "https://vilesci.technikum-wien.at");
user_pref("capability.principal.codebase.p2.subjectName", "");
user_pref("capability.principal.codebase.p3.granted", "UniversalXPConnect");
user_pref("capability.principal.codebase.p3.id", "http://dev.technikum-wien.at");
user_pref("capability.principal.codebase.p3.subjectName", "");
user_pref("capability.principal.codebase.p3.granted", "UniversalXPConnect");
user_pref("capability.principal.codebase.p3.id", "http://localhost");
user_pref("capability.principal.codebase.p3.subjectName", "");
+32
View File
@@ -0,0 +1,32 @@
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest"
em:id="planner@technikum-wien.at"
em:type="2"
em:name="FHC-Planner"
em:version="2.0.1"
em:creator="Christian Paminger"
em:contributor="Systementwicklung FH Technikum Wien"
em:developer="Christian Paminger, Andreas Österreicher, Karl Burkhart"
em:description="Projektmanagement Modul in FH-Complete"
em:homepageURL="http://fhcomplete.technikum-wien.at/"
em:aboutURL="chrome://planner/content/about.xul"
em:optionsURL="chrome://planner/content/options.xul">
<em:targetApplication resource="rdf:#$JrcLu"/>
<em:targetApplication resource="rdf:#Seamonkey"/>
</Description>
<Description about="rdf:#$JrcLu">
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <!-- Firefox -->
<em:minVersion>2.0</em:minVersion>
<em:maxVersion>6.2</em:maxVersion>
</Description>
<Description about="rdf:#Seamonkey">
<em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id> <!-- SeaMonkey -->
<em:minVersion>2.0b1</em:minVersion>
<em:maxVersion>2.2.*</em:maxVersion>
</Description>
</RDF>