source: DASISH/t5.6/client/chrome/markingcollection/content/markingcollection/markerInitDataDialog.xul @ 2709

Last change on this file since 2709 was 2709, checked in by sroth, 11 years ago

Wired-Marker initial source code with minor adjustments.

  • Property svn:executable set to *
File size: 7.5 KB
Line 
1<?xml version="1.0" encoding="UTF-8" ?>
2<?xml-stylesheet href="chrome://global/skin/" type="text/css" ?>
3<!DOCTYPE dialog [
4<!ENTITY % markingcollectionDTD SYSTEM "chrome://markingcollection/locale/markingcollection.dtd" >
5%markingcollectionDTD;
6<!ENTITY % markerDTD SYSTEM "chrome://markingcollection/locale/marker.dtd" >
7%markerDTD;
8]>
9<dialog
10        id="bitsMarkerInitDataDialog"
11        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
12        title="&marker.initdata.dialog.title;"
13        buttons=","
14        width="600"
15        height="200"
16        ondialogaccept="return _bitsMarkerInitDataDialogAccept(event);"
17        >
18        <script type="application/x-javascript" src="chrome://global/content/nsUserSettings.js" />
19        <script type="application/x-javascript">
20        <![CDATA[
21                function getTopWindow(){
22                        return Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(Components.interfaces.nsIWindowMediator).getMostRecentWindow("navigator:browser");
23                }
24                function getSTRING(){
25                        return getTopWindow().document.getElementById("MarkingCollectionOverlayString");
26                }
27                function getCommon(){
28                        return getTopWindow().bitsObjectMng.Common;
29                }
30                function _bitsMarkerInitDataDialogOK(aEvent){
31                        document.getElementById("bitsMarkerInitDataDialog").acceptDialog();
32                }
33                function _bitsMarkerInitDataDialogCancel(aEvent){
34                        document.getElementById("bitsMarkerInitDataDialog").cancelDialog();
35                }
36                function _bitsMarkerInitDataDialogInit(aEvent){
37                        var title = window.arguments[0].title;
38                        title = title.replace(/^\s+/g,"").replace(/\s+$/g,"");
39                        var TEXT = document.getElementById("bitsMarkerInitDataTitleText");
40                        TEXT.value = title;
41                        try{TEXT.editor.transactionManager.clear();}catch(e){}
42
43                        var NOTE = document.getElementById("bitsMarkerInitDataNoteText");
44                        NOTE.value = window.arguments[0].note;
45                        try{NOTE.editor.transactionManager.clear();}catch(e){}
46
47                        var edit = nsPreferences.getBoolPref("wiredmarker.marker.initdata.edit", true);
48                        document.getElementById("bitsMarkerInitEditCheckbox").checked = edit;
49                        window.sizeToContent();
50                        if(title != ""){
51                                document.getElementById("bitsMarkerInitDataOKButton").focus();
52                        }else{
53                                document.getElementById("bitsMarkerInitDataOKButton").disabled = true;
54                        }
55                }
56                function _bitsMarkerInitDataDialogDone(aEvent){}
57                function _bitsMarkerInitDataDialogAccept(aEvent){
58                        var title = document.getElementById("bitsMarkerInitDataTitleText").value;
59                        title = title.replace(/^\s+/g,"").replace(/\s+$/g,"");
60                        if(title == ""){
61                                setTimeout(function(){ document.getElementById("bitsMarkerInitDataTitleText").focus();},250);
62                                return false;
63                        }
64                        var edit = document.getElementById("bitsMarkerInitEditCheckbox").checked;
65                        nsPreferences.setBoolPref("wiredmarker.marker.initdata.edit", edit);
66
67                        window.arguments[0].accept = true;
68                        window.arguments[0].title = document.getElementById("bitsMarkerInitDataTitleText").value;
69                        window.arguments[0].note = document.getElementById("bitsMarkerInitDataNoteText").value;
70
71                        return true;
72                }
73                function _bitsMarkerInitDataTitleTextInput(aEvent){
74                        var TEXT = document.getElementById("bitsMarkerInitDataTitleText");
75                        var title = TEXT.value;
76                        title = title.replace(/^\s+/g,"").replace(/\s+$/g,"");
77                        if(title != ""){
78                                document.getElementById("bitsMarkerInitDataOKButton").disabled = false;
79                                document.getElementById("bitsMarkerInitDataTitleHBox").style.borderColor = 'transparent';
80                        }else{
81                                document.getElementById("bitsMarkerInitDataOKButton").disabled = true;
82                                document.getElementById("bitsMarkerInitDataTitleHBox").style.borderColor = 'red';
83                        }
84                }
85                function _bitsMarkerInitDataTitleTextChange(aEvent){
86                        var title = document.getElementById("bitsMarkerInitDataTitleText").value;
87                        title = title.replace(/\t/mg,"        ");
88                        title = getCommon().exceptCode(title);
89                        title = title.replace(/\x0D\x0A|\x0D|\x0A/g, " ").replace(/^\s*/g,"").replace(/\s*$/g,"");
90                        if(Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULRuntime).OS != "Darwin"){
91                                if(title == ""){
92                                        getCommon().alert(getSTRING().getString("ERROR_NOT_ENTER_TITLE"));
93//                                      undoTitle();
94                                        aEvent.preventDefault();
95                                        aEvent.stopPropagation();
96                                }else{
97                                        if(document.getElementById("bitsMarkerInitDataTitleText").value != title) document.getElementById("bitsMarkerInitDataTitleText").value = title;
98                                }
99                        }else{
100                                if(document.getElementById("bitsMarkerInitDataTitleText").value != title) document.getElementById("bitsMarkerInitDataTitleText").value = title;
101                        }
102                }
103                function _bitsMarkerInitDataNoteTextChange(aEvent){
104                        var note = document.getElementById("bitsMarkerInitDataNoteText").value;
105                        note = note.replace(/\t/g,"        ");
106                        note = note.replace(/\x0D\x0A|\x0D|\x0A/g," __BR__ ");
107                        note = getCommon().exceptCode(note);
108                        note = note.replace(/ __BR__ /g,"\n");
109                        if(document.getElementById("bitsMarkerInitDataNoteText").value != note) document.getElementById("bitsMarkerInitDataNoteText").value = note;
110                }
111                function undoTitle(){
112                        var TITLE = document.getElementById("bitsMarkerInitDataTitleText");
113                        try{
114                                while(TITLE.editor.transactionManager.numberOfUndoItems>0){
115                                        TITLE.editor.undo(1);
116                                        var title = TITLE.value;
117                                        title = title.replace(/\t/mg,"        ");
118                                        title = getCommon().exceptCode(title);
119                                        title = title.replace(/[\r\n]/g, " ").replace(/^\s*/g,"").replace(/\s*$/g,"");
120                                        if(title != "") break;
121                                }
122                        }catch(e){}
123                        window.focus();
124                        setTimeout(function(){TITLE.focus();},100);
125                }
126                window.addEventListener("load", _bitsMarkerInitDataDialogInit, false);
127                window.addEventListener("unload", _bitsMarkerInitDataDialogDone, false);
128//              window.addEventListener("dialogaccept", _bitsMarkerInitDataDialogAccept, false);
129        ]]>
130        </script>
131        <grid flex="1">
132                <columns>
133                        <column/>
134                        <column flex="1"/>
135                </columns>
136                <rows>
137                        <row align="center">
138                                <hbox flex="1" pack="end">
139                                        <label value="&marker.initdata.dialog.label.title; :" control="bitsMarkerInitDataTitleText"/>
140                                </hbox>
141                                <hbox id="bitsMarkerInitDataTitleHBox" flex="1" style="border:2px solid transparent;">
142                                        <textbox
143                                                id="bitsMarkerInitDataTitleText"
144                                                flex="1"
145                                                emptytext="&marker.initdata.dialog.emptytext.title;"
146                                                placeholder="&marker.initdata.dialog.emptytext.title;"
147                                                newlines="replacewithspaces"
148                                                onfocus="this.select()"
149                                                onkeypress="_bitsMarkerInitDataTitleTextInput(event);"
150                                                onkeydown="_bitsMarkerInitDataTitleTextInput(event);"
151                                                oninput="_bitsMarkerInitDataTitleTextInput(event);"
152                                                onblur="_bitsMarkerInitDataTitleTextInput(event);"
153                                                onchange="_bitsMarkerInitDataTitleTextChange(event);"/>
154                                </hbox>
155                        </row>
156                        <row align="stretch" flex="1">
157                                <hbox flex="1" pack="end">
158                                        <label value="&marker.initdata.dialog.label.note; :" control="bitsMarkerInitDataNoteText"/>
159                                </hbox>
160                                <hbox id="bitsMarkerInitDataNoteHBox" flex="1" style="border:2px solid transparent;">
161                                        <textbox
162                                                id="bitsMarkerInitDataNoteText"
163                                                multiline="true"
164                                                rows="5"
165                                                flex="1"
166                                                wrap="on"
167                                                onfocus="this.select()"
168                                                onchange="_bitsMarkerInitDataNoteTextChange(event);"/>
169                                </hbox>
170                        </row>
171                        <row align="center">
172                                <hbox flex="1"/>
173                                <hbox flex="1">
174                                        <hbox flex="1" pack="start">
175                                                <checkbox id="bitsMarkerInitEditCheckbox" label="&marker.initdata.overlay.checkbox.edit;"/>
176                                        </hbox>
177                                        <hbox flex="1" pack="end">
178                                                <button label="OK" oncommand="_bitsMarkerInitDataDialogOK(event);" id="bitsMarkerInitDataOKButton"/>
179                                                <button label="Cancel" oncommand="_bitsMarkerInitDataDialogCancel(event);"/>
180                                        </hbox>
181                                </hbox>
182                        </row>
183                </rows>
184        </grid>
185</dialog>
Note: See TracBrowser for help on using the repository browser.