home *** CD-ROM | disk | FTP | other *** search
- /**
- * Konfigurations-Klasse die auf dem Module Pattern basiert.
- * Hier werden alle erforderlichen Bibliotheken und sonstigen Einstellungen der Anwendung geladen.
- *
- * @namespace IM
- * @class Config
- * @constructor
- */
- IM.Config = function ( window, undefined ) {
- var APP_CONTENT_FRAME,
- APP_BASE_PAGE_URL,
- APP_BASE_CSS_URL,
- APP_BASE_SITEMAP,
- APP_BASE_SITEMAP_MENU,
- _gui,
- _path,
- _fs;
-
- /**
- * Liefert die ID des iFrames das den Inhalt lädt
- * @property APP_CONTENT_FRAME
- * @type String
- */
- APP_CONTENT_FRAME = 'frameContent';
-
- /**
- * Liefert die Datei der Startseite
- * @property APP_BASE_PAGE_URL
- * @type String
- */
- APP_BASE_PAGE_URL = 'start.html';
-
- /**
- * Liefert den Pfad zur CSS-Datei f├╝r die Detailseiten
- * @property APP_BASE_CSS_URL
- * @type String
- */
- APP_BASE_CSS_URL = 'css/style.css';
-
- /**
- * Liefert den Pfad zur XML-Datei f├╝r die Sitemap
- * @property APP_BASE_SITEMAP
- * @type String
- */
- APP_BASE_SITEMAP = 'interface/sitemap.xml';
-
- /**
- * Gibt an welches Men├╝-Element die Sitemap beinhalten soll.
- * @property APP_BASE_SITEMAP_MENU
- * @type String
- */
- APP_BASE_SITEMAP_MENU = 'overview_item4';
-
- /**
- * Lädt die native UI Bibliothek
- * @property _gui
- * @type Object
- * @private
- */
- _gui = require( 'nw.gui' );
-
- /**
- * Lädt die Bibliothek für Pfade
- * @property _path
- * @type Object
- * @private
- */
- _path = require( 'path' );
-
- /**
- * Lädt "FileSystem"-Funktion von NodeJS
- * @property _fs
- * @type Object
- * @private
- */
- _fs = require( 'fs' );
-
- /**
- * Lädt node-module xml2js zur Verarbeitung von XML-Dokumenten
- * @property _xml
- * @type Object
- * @private
- */
- _xml = require( 'xml2js' );
-
- /**
- * Legt die Eigenschaften f├╝r das Anwendungsfenster fest.
- * @method _setWindowProperties
- * @param {Object} gui Das geladene gui-lib-object ( Wird f├╝r Window-Eigenschaften ben├╢tigt )
- * @param {Object} fs Das geladene fs-lib-object ( Lädt die erforderlichen Methoden um auf das Dateisystem( fs = Filesystem ) zugreifen zu können )
- * @private
- */
- function _setWindowProperties( gui, fs ) {
- /**
- * Speichert das Window-Object
- * @property win
- * @private
- * @type Object
- */
- var win = gui.Window.get();
- win.setResizable( true );
- win.maximize();
- }
-
- /**
- * Bestimmt ob die Eigenschaften des Anwendungsfensters aktiviert/deaktiviert werden.
- * @method setWindowPropertiesStatus
- * @param {Boolean} winStat Kann ├╝ber den Aufruf der Methode auf true gesetzt werden.
- */
- function setWindowPropertyStatus( winStat ) {
- if( winStat ) {
- _setWindowProperties( _gui, _fs );
- }
- }
-
- /**
- * Holt das zuvor geladene Gui-Objekt.
- * @method getGuiLib
- * @return {Object} Gibt das geladene Objekt zur├╝ck.
- */
- function getGuiLib() {
- return _gui;
- }
-
- /**
- * Holt das zuvor geladene Path-Objekt.
- * @method getPathLib
- * @return {Object} Gibt das geladene Objekt zur├╝ck.
- */
- function getPathLib() {
- return _path;
- }
-
- /**
- * Holt das zuvor geladene Fs-Objekt.
- * @method getFsLib
- * @return {Object} Gibt das geladene Objekt zur├╝ck.
- */
- function getFsLib() {
- return _fs;
- }
-
- /**
- * Holt das zuvor geladene XML2JS-Objekt.
- * @method getXmlLib
- * @return {Object} Gibt das geladene Objekt zur├╝ck.
- */
- function getXmlLib() {
- return _xml;
- }
-
- return {
- APP_CONTENT_FRAME: APP_CONTENT_FRAME,
- APP_BASE_PAGE_URL: APP_BASE_PAGE_URL,
- APP_BASE_CSS_URL: APP_BASE_CSS_URL,
- APP_BASE_SITEMAP: APP_BASE_SITEMAP,
- APP_BASE_SITEMAP_MENU: APP_BASE_SITEMAP_MENU,
- gui: getGuiLib(),
- path: getPathLib(),
- fs: getFsLib(),
- xml: getXmlLib(),
- loadWinProp: function ( winStat ) {
- var winStat = winStat || false;
- setWindowPropertyStatus( winStat );
- }
- };
-
- }( window, undefined );
-