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

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

try reestablishing NetConnection? on retry, and trap empty relation tags

  • Property svn:executable set to *
File size: 6.9 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.i18n=result[10];
22                        _root.panel.i_preset._visible=false;
23
24                        var pages=result[11].split('<page/>');
25                        _root.helppages=new Array();
26                        for (var i in pages) {
27                helppages[i]=pages[i].split('<column/>');
28                    }
29
30                        _root.waysloading._x=Stage.width-220;
31                        _root.waysloading._y=5;
32                        _root.waysloading.attachMovie("whirl","whirl",3);
33                        _root.waysloading.whirl._x=205;
34                        _root.waysloading.whirl._y=10;
35                        _root.waysloading.whirl._xscale=
36                        _root.waysloading.whirl._yscale=75;
37                        _root.io=0;
38
39                        if (lat!=undefined) { startPotlatch(); }        // Parse GPX if supplied
40                        if (gpx) { parseGPX(gpx); }                                     //  |
41                                else { _root.windows.pleasewait.remove(); }
42                        if (lat==undefined) { lat=0; long=0; startPotlatch(); }
43                        splashScreen();
44                        welcomeButtons();
45                };
46                remote_read.call('getpresets',preresponder,_root.lang);
47        }
48
49    function pleaseWait(a) {
50                _root.windows.attachMovie("modal","pleasewait",++windowdepth);
51                _root.windows.pleasewait.init(295,35,new Array(),null);
52                _root.windows.pleasewait.box.createTextField("prompt",2,37,8,280,20);
53                _root.windows.pleasewait.box.attachMovie("whirl","whirl",3);
54                with (_root.windows.pleasewait.box.whirl) { _x=20; _y=18; }
55                writeText(_root.windows.pleasewait.box.prompt,a);
56        }
57       
58        // -----------------------------------------------------------------------
59        // Create splash screen
60       
61        function splashScreen() {
62        var h=267;
63        _root.dogpx=false;
64        if (gpx) { h+=20; }
65        if (preferences.data.launcher) { h+=30; }
66       
67                _root.windows.attachMovie("modal","splashscreen",++windowdepth);
68                _root.windows.splashscreen.init(350,h,[],null,2);
69        _root.windows.splashscreen.box._alpha=85;
70        var box=_root.windows.splashscreen.box;
71
72                box.createTextField("title",1,0,15,350,40);
73                with (box.title) {
74                        type='dynamic';
75                        text=iText("Welcome to OpenStreetMap!",'prompt_welcome'); setTextFormat(boldLarge);
76            _x=(350-textWidth)/2;
77                }
78                box.createTextField("help",4,0,40,350,20);
79                with (box.help) {
80                        type='dynamic';
81                        text=iText("New user? Look in the bottom left for help.",'prompt_helpavailable'); setTextFormat(plainSmall);
82            _x=(350-textWidth)/2;
83                }
84
85        box.attachMovie("editwithsave","start_save",50);
86        with (box.start_save) {
87            _x=90; _y=125;
88            _xscale=500; _yscale=500;
89        }
90                box.start_save.onPress=function() { removeSplash(false); };
91
92        box.attachMovie("editlive","start_live",51);
93        with (box.start_live) {
94            _x=240; _y=107;
95            _xscale=375; _yscale=375;
96        }
97                box.start_live.onPress=function() { removeSplash(true); };
98
99                box.createEmptyMovieClip("button_save",2);
100                drawButton(box.button_save,50,225,iText("Edit with save",'prompt_editsave'),'',100);
101                box.button_save.onPress=function() { removeSplash(false); };
102
103                box.createEmptyMovieClip("button_live",3);
104                drawButton(box.button_live,200,225,iText("Edit live",'prompt_editlive'),'',100);
105                box.button_live.onPress=function() { removeSplash(true); };
106
107        // Optional buttons
108
109        var h=260;
110        if (gpx) { 
111                box.attachMovie("checkbox","convert",5);
112                box.convert.init(0,h,iText("Convert GPS track to ways",'prompt_track'),false,function(n) { _root.dogpx=n; });
113            box.convert._x=(350-13-box.convert.prompt.textWidth)/2;
114            h+=20;
115        }
116        if (preferences.data.launcher) {
117                box.createEmptyMovieClip("button_launch",6);
118                drawButton(box.button_launch,100,h+5,iText("Launch external URL",'prompt_launch'),'',150);
119                        box.button_launch.onPress=function() { 
120                                var a=preferences.data.launcher.split('!');
121                                getUrl(a[0]+_root.scale+a[1]+centrelong(0)+a[2]+centrelat(0)+a[3],"_blank");
122                        };
123        }
124        }
125
126        // -----------------------------------------------------------------------
127        // Create welcome buttons
128       
129        function removeSplash(live) {
130                _root.panel.properties._visible=true;
131                _root.panel.presets._visible=true;
132                _root.windows.splashscreen.remove();
133                if (_root.dogpx) { gpxToWays(); }
134                if (live) {
135                    setEditingStatus(iText("Editing live",'editinglive'),0xFF0000);
136            pleaseWait(iText("Opening changeset",'openchangeset'));
137                _root.changecomment=''; startChangeset(true);
138                } else { 
139                    _root.sandbox=true;
140                        setEditingStatus(iText("Editing offline",'editingoffline'),0x008800);
141                }
142        }
143
144        // -----------------------------------------------------------------------
145        // Main start function
146
147        function startPotlatch() {
148                _root.urllat  =Number(lat);                                             // LL from query string
149                _root.urllong =Number(long);                                    //  |
150                _root.baselong=urllong-xradius/masterscale/bscale;
151                _root.basey   =lat2y(urllat)+yradius/masterscale/bscale;
152                _root.baselat =y2lat(basey);
153                _root.ylat=baselat;      _root.lastylat=ylat;           // current Yahoo state
154                _root.ylon=baselong; _root.lastylon=ylon;               //  |
155                updateCoords(0,0);
156                updateLinks();
157                initBackground();
158                whichWays();
159                _root.onEnterFrame=function() { everyFrame(); };
160        }
161
162        function setEditingStatus(str,col) {
163                _root.createEmptyMovieClip("status",62);
164                _root.status.createTextField("btext",1,0,-1,90,20);
165                with (_root.status.btext) {
166                        text=str;
167                        setTextFormat(boldWhite);
168                        selectable=false; type='dynamic';
169                };
170                setStatusPosition();
171                var tw=_root.status.btext.textWidth+5;
172                with (_root.status) {
173                        // if (preferences.data.baselayer==2) { _y-=32; }
174                        beginFill(col,100);
175                        moveTo(0,0); lineTo(tw,0); lineTo(tw,17);
176                        lineTo(0,17); lineTo(0,0); endFill();
177                };
178                if (_root.sandbox) {
179                        _root.status.createEmptyMovieClip("save",3);
180                        drawButton(_root.status.save,tw+7,0,iText("Save",'save'),"");
181                        _root.status.save.onPress=function() { prepareUpload(); };
182                }
183        };
184
185        function setStatusPosition() {
186                _root.status._x=Stage.width-_root.status.btext.textWidth-9;
187                if (_root.sandbox) { _root.status._x-=60; }
188                _root.status._y=Stage.height-21; // panelheight-22;
189                // if (preferences.data.baselayer==2) { _root.status._y-=32; }
190        };
191
192        function establishConnections() {
193                _root.remote_read=new NetConnection();
194                _root.remote_read.connect(apiurl+'/read');
195                _root.remote_read.onStatus=function(info) {
196                readError=true; 
197                    _root.panel.i_warning._visible=true;
198                };
199
200                _root.remote_write=new NetConnection();
201                _root.remote_write.connect(apiurl+'/write');
202                _root.remote_write.onStatus=function(info) {
203                writeError=true;
204                    _root.panel.i_warning._visible=true;
205                if (_root.uploading) { handleWarning(); }
206                };
207        };
Note: See TracBrowser for help on using the repository browser.