source: subversion/applications/editors/potlatch/start.as @ 18174

Last change on this file since 18174 was 17889, checked in by richard, 10 years ago

Potlatch 1.2c. Not checking in SWF until I've spoken to avar and am reasonably confident about the i18n stuff

  • Property svn:executable set to *
File size: 7.8 KB
Line 
1
2        // Potlatch introduction/welcome functions
3       
4        // -----------------------------------------------------------------------
5        // Load presets
6       
7        function loadPresets() {
8        pleaseWait("Please wait - loading presets.");
9                preresponder = function() { };
10                preresponder.onResult = function(result) {
11                        _root.presets=result[0];
12                        _root.presetmenus=result[1];
13                        _root.presetnames=result[2];
14                        _root.colours=result[3];
15                        _root.casing=result[4];
16                        _root.areas=result[5];
17                        _root.autotags=result[6];
18                        _root.relcolours=result[7];
19                        _root.relalphas=result[8];
20                        _root.relwidths=result[9];
21                        _root.iconlist=result[10];
22                        _root.iconnames=result[11];
23                        _root.icontags=result[12];
24                        _root.i18n=result[13];
25                        _root.panel.i_preset._visible=false;
26
27                        var pages=result[14].split('<page/>');
28                        _root.helppages=new Array();
29                        for (var i in pages) {
30                helppages[i]=pages[i].split('<column/>');
31                    }
32
33                        _root.waysloading._x=Stage.width-220;
34                        _root.waysloading._y=5;
35                        _root.waysloading.attachMovie("whirl","whirl",3);
36                        _root.waysloading.whirl._x=205;
37                        _root.waysloading.whirl._y=10;
38                        _root.waysloading.whirl._xscale=
39                        _root.waysloading.whirl._yscale=75;
40                        _root.io=0;
41
42                        for (var icon in iconlist) {
43                                Object.registerClass("poi_"+iconlist[icon],POI);
44                        }
45
46                        if (lat!=undefined) { startPotlatch(); }        // Parse GPX if supplied
47                        if (gpx) { parseGPX(gpx); }                                     //  |
48                                else { _root.windows.pleasewait.remove(); }
49                        if (lat==undefined) { lat=0; long=0; startPotlatch(); }
50                        splashScreen();
51                        welcomeButtons();
52                };
53                remote_read.call('getpresets',preresponder,_root.usertoken,_root.lang);
54        }
55
56    function pleaseWait(a) {
57                _root.windows.attachMovie("modal","pleasewait",++windowdepth);
58                _root.windows.pleasewait.init(295,35,new Array(),null);
59                _root.windows.pleasewait.box.createTextField("prompt",2,37,8,280,20);
60                _root.windows.pleasewait.box.attachMovie("whirl","whirl",3);
61                with (_root.windows.pleasewait.box.whirl) { _x=20; _y=18; }
62                writeText(_root.windows.pleasewait.box.prompt,a);
63        }
64       
65        // -----------------------------------------------------------------------
66        // Create splash screen
67       
68        function splashScreen() {
69        var h=267;
70        _root.dogpx=false;
71        if (gpx) { h+=20; }
72        if (preferences.data.launcher) { h+=30; }
73       
74                _root.windows.attachMovie("modal","splashscreen",++windowdepth);
75                _root.windows.splashscreen.init(350,h,[],null,2);
76        _root.windows.splashscreen.box._alpha=85;
77        var box=_root.windows.splashscreen.box;
78
79                box.createTextField("title",1,0,15,350,40);
80                with (box.title) {
81                        type='dynamic';
82                        text=iText('prompt_welcome'); setTextFormat(boldLarge);
83            _x=(350-textWidth)/2;
84                }
85                adjustTextField(box.title);
86               
87                box.createTextField("help",4,0,40,350,20);
88                with (box.help) {
89                        type='dynamic';
90                        text=iText('prompt_helpavailable'); setTextFormat(plainSmall);
91            _x=(350-textWidth)/2;
92                }
93                adjustTextField(box.help);
94
95        box.attachMovie("editwithsave","start_save",50);
96        with (box.start_save) {
97            _x=90; _y=125;
98            _xscale=500; _yscale=500;
99        }
100                box.start_save.onPress=function() { removeSplash(false); };
101
102        box.attachMovie("editlive","start_live",51);
103        with (box.start_live) {
104            _x=240; _y=107;
105            _xscale=375; _yscale=375;
106        }
107                box.start_live.onPress=function() { removeSplash(true); };
108
109                box.createEmptyMovieClip("button_save",2);
110                drawButton(box.button_save,50,225,iText('prompt_editsave'),'',100);
111                box.button_save.onPress=function() { removeSplash(false); };
112
113                box.createEmptyMovieClip("button_live",3);
114                drawButton(box.button_live,200,225,iText('prompt_editlive'),'',100);
115                box.button_live.onPress=function() { removeSplash(true); };
116
117        // Optional buttons
118
119        var h=260;
120        if (gpx) { 
121                box.attachMovie("checkbox","convert",5);
122                box.convert.init(0,h,iText('prompt_track'),false,function(n) { _root.dogpx=n; });
123            box.convert._x=(350-13-box.convert.prompt.textWidth)/2;
124            h+=20;
125        }
126        if (preferences.data.launcher) {
127                box.createEmptyMovieClip("button_launch",6);
128                drawButton(box.button_launch,100,h+5,iText('prompt_launch'),'',150);
129                        box.button_launch.onPress=function() { 
130                                var a=preferences.data.launcher.split('!');
131                                getUrl(a[0]+_root.scale+a[1]+centrelong(0)+a[2]+centrelat(0)+a[3],"_blank");
132                        };
133        }
134        }
135
136        // -----------------------------------------------------------------------
137        // Create welcome buttons
138       
139        function removeSplash(live) {
140                _root.panel.properties._visible=true;
141                _root.panel.presets._visible=true;
142                _root.windows.splashscreen.remove();
143                if (_root.panel.properties.proptype=='') { drawIconPanel(); }
144                if (_root.dogpx) { gpxToWays(); }
145                if (live) {
146                    setEditingStatus(iText('editinglive'),0xFF0000);
147            pleaseWait(iText('openchangeset'));
148                _root.changecomment=''; startChangeset(true);
149                } else { 
150                    _root.sandbox=true;
151                        setEditingStatus(iText('editingoffline'),0x008800);
152                        _root.panel.advanced.disableOption(5);
153                }
154        }
155
156        // -----------------------------------------------------------------------
157        // Main start function
158
159        function startPotlatch() {
160                _root.urllat  =Number(lat);                                             // LL from query string
161                _root.urllong =Number(long);                                    //  |
162                _root.baselong=urllong-xradius/masterscale/bscale;
163                _root.basey   =lat2y(urllat)+yradius/masterscale/bscale;
164                _root.baselat =y2lat(basey);
165                _root.ylat=baselat;      _root.lastylat=ylat;           // current Yahoo state
166                _root.ylon=baselong; _root.lastylon=ylon;               //  |
167                updateCoords(0,0);
168                updateLinks();
169                initBackground();
170                whichWays();
171
172                _root.panel.createEmptyMovieClip("help",80);
173                drawButton(_root.panel.help,7,114,iText('help'),"");
174                _root.panel.help.onPress=function() { openHelp(); };
175
176                _root.panel.attachMovie("menu","advanced",81);
177                _root.panel.advanced.init(67,114,-1,
178                        new Array(iText("advanced_parallel"),
179                                          iText("advanced_history"),
180                                          "--",
181                                          iText("advanced_inspector"),
182                                          iText("advanced_undelete"),
183                                          iText("advanced_close"),
184                                          iText("advanced_maximise")),
185                        iText('advanced_tooltip'),advancedAction,null,85,iText("advanced"));
186                selectWay(0);   // just to update the menu items
187
188                _root.onEnterFrame=function() { everyFrame(); };
189        }
190
191        function setEditingStatus(str,col) {
192                _root.createEmptyMovieClip("status",62);
193
194                _root.status.createTextField("btext",1,0,-1,90,20);
195                with (_root.status.btext) {
196                        text=str;
197                        setTextFormat(boldWhite);
198                        selectable=false; type='dynamic';
199                };
200                adjustTextField(_root.status.btext);
201               
202                var tw=_root.status.btext.textWidth+5;
203                with (_root.status) {
204                        // if (preferences.data.baselayer==2) { _y-=32; }
205                        beginFill(col,100);
206                        moveTo(0,0); lineTo(tw,0); lineTo(tw,17);
207                        lineTo(0,17); lineTo(0,0); endFill();
208                };
209               
210                if (_root.sandbox) {
211                        _root.status.createEmptyMovieClip("save",3);
212                        drawButton(_root.status.save,tw+10,0,iText('save'),"");
213                        _root.status.save.onPress=function() { prepareUpload(); };
214                        _root.status.save._x=tw+10;     // we don't want it centred, even if internationalised!
215                }
216
217                setStatusPosition();
218        };
219
220        function setStatusPosition() {
221                _root.status._x=Stage.width-_root.status.btext.textWidth-10;
222                if (_root.sandbox) { _root.status._x-=_root.status.save._width+10; }
223                _root.status._y=Stage.height-21; // panelheight-22;
224                // if (preferences.data.baselayer==2) { _root.status._y-=32; }
225        };
226
227        function establishConnections() {
228                _root.remote_read=new NetConnection();
229                _root.remote_read.connect(apiurl+'/read');
230                _root.remote_read.onStatus=function(info) {
231                readError=true; 
232                    _root.panel.i_warning._visible=true;
233                };
234
235                _root.remote_write=new NetConnection();
236                _root.remote_write.connect(apiurl+'/write');
237                _root.remote_write.onStatus=function(info) {
238                writeError=true;
239                    _root.panel.i_warning._visible=true;
240                if (_root.uploading) { handleWarning(); }
241                };
242        };
Note: See TracBrowser for help on using the repository browser.