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

Last change on this file since 18704 was 18431, checked in by richard, 10 years ago

Potlatch 1.2d

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