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

Last change on this file since 8894 was 8894, checked in by richard, 11 years ago

Potlatch 0.10

  • Property svn:executable set to *
File size: 6.8 KB
Line 
1
2        // Potlatch introduction/welcome functions
3       
4        // -----------------------------------------------------------------------
5        // Load presets
6       
7        function loadPresets() {
8                _root.windows.attachMovie("modal","pleasewait",++windowdepth);
9                _root.windows.pleasewait.init(295,35,new Array(),null);
10                _root.windows.pleasewait.box.createTextField("prompt",2,37,8,280,20);
11                _root.windows.pleasewait.box.attachMovie("whirl","whirl",3);
12                with (_root.windows.pleasewait.box.whirl) { _x=20; _y=18; }
13                writeText(_root.windows.pleasewait.box.prompt,"Please wait - loading presets.");
14                preresponder = function() { };
15                preresponder.onResult = function(result) {
16                        _root.presets=result[0];
17                        _root.presetmenus=result[1];
18                        _root.presetnames=result[2];
19                        _root.colours=result[3];
20                        _root.casing=result[4];
21                        _root.areas=result[5];
22                        _root.autotags=result[6];
23                        _root.relcolours=result[7];
24                        _root.relalphas=result[8];
25                        _root.relwidths=result[9];
26                        _root.i18n=result[10];
27                        _root.panel.i_preset._visible=false;
28
29                        _root.waysloading._x=Stage.width-220;
30                        _root.waysloading._y=5;
31                        _root.waysloading.createTextField('prompt',2,0,0,195,20);
32                        with (_root.waysloading.prompt) {
33                                text=iText("loading ways",'hint_loading'); setTextFormat(plainRight);
34                        }
35                        _root.waysloading.createEmptyMovieClip('bg',1);
36                        with (_root.waysloading.bg) {
37                                beginFill(0xFFFFFF,75);
38                                moveTo(215,0); lineTo(210-_root.waysloading.prompt.textWidth-22,0);
39                                lineTo(210-_root.waysloading.prompt.textWidth-22,_root.waysloading.prompt.textHeight+5);
40                                lineTo(215,_root.waysloading.prompt.textHeight+5); lineTo(215,0);
41                                endFill();
42                        }
43                        _root.waysloading.attachMovie("whirl","whirl",3);
44                        _root.waysloading.whirl._x=205;
45                        _root.waysloading.whirl._y=10;
46                        _root.waysloading.whirl._xscale=
47                        _root.waysloading.whirl._yscale=75;
48
49                        if (lat) { startPotlatch(); }                   // Parse GPX if supplied
50                        if (gpx) { parseGPX(gpx); }                             //  |
51                                else { _root.windows.pleasewait.remove(); }
52                        if (lat) {} else { lat=0; long=51.5; startPotlatch(); } // dummy location in sea if none!
53                        if (!preferences.data.nosplash) { splashScreen(); }
54                        welcomeButtons();
55                };
56                remote.call('getpresets',preresponder);
57        }
58       
59        // -----------------------------------------------------------------------
60        // Create splash screen
61       
62        function splashScreen() {
63                _root.windows.attachMovie("modal","splashscreen",++windowdepth);
64                _root.windows.splashscreen.init(500,225,[],null,true);
65
66                _root.windows.splashscreen.box.createTextField("title",1,7,7,500-14,20);
67                with (_root.windows.splashscreen.box.title) {
68                        type='dynamic';
69                        text=iText("Welcome to OpenStreetMap!",'prompt_welcome'); setTextFormat(boldText);
70                }
71
72                // Light grey background
73                _root.windows.splashscreen.box.createEmptyMovieClip('lightgrey',2);
74                with (_root.windows.splashscreen.box.lightgrey) {
75                        beginFill(0xF3F3F3,100);
76                        moveTo(10,30); lineTo(492,30);
77                        lineTo(492,195); lineTo(10,195);
78                        lineTo(10,30); endFill();
79                };
80               
81                _root.windows.splashscreen.box.createTextField("prompt",3,15,35,500-30,180);
82                writeText(_root.windows.splashscreen.box.prompt,iText(
83                        "Choose a button below to get editing. If you click 'Start', "+
84                        "you'll be editing the main map directly - changes usually show "+
85                        "up every Thursday. If you click 'Play', your changes won't be "+
86                        "saved, so you can practise editing.\n\n"+
87                        "Remember the golden rules of OpenStreetMap:\n\n",'prompt_introduction')+
88                        chr(0x278A)+"  "+iText("Don't copy from other maps"                                                     ,'prompt_dontcopy')+"\n"+
89                        chr(0x278B)+"  "+iText("Accuracy is important - only map places you've been",'prompt_accuracy')+"\n"+
90                        chr(0x278C)+"  "+iText("And have fun!"                                                                          ,'prompt_enjoy'   )+"\n");
91
92                _root.windows.splashscreen.box.attachMovie("checkbox","nosplash",5);
93                _root.windows.splashscreen.box.nosplash.init(12,205,iText("Don't show this message again",'dontshowagain'),preferences.data.nosplash,function(n) { preferences.data.nosplash=n; });
94        }
95
96        // -----------------------------------------------------------------------
97        // Create welcome buttons
98       
99        function welcomeButtons() {
100                _root.panel.properties._visible=false;
101                _root.panel.createEmptyMovieClip("welcome",61);
102       
103                _root.panel.welcome.createEmptyMovieClip("start",1);
104                drawButton(_root.panel.welcome.start,150,7,iText("Start",'start'),iText("Start mapping with OpenStreetMap.",'prompt_start'));
105                _root.panel.welcome.start.onPress=function() { removeWelcome(true); };
106
107                _root.panel.welcome.createEmptyMovieClip("play",2);
108                drawButton(_root.panel.welcome.play,150,29,iText("Play",'play'),iText("Practise mapping - your changes won't be saved.",'prompt_practise'));
109                _root.panel.welcome.play.onPress=function() { removeWelcome(false); };
110       
111                _root.panel.welcome.createEmptyMovieClip("help",3);
112                drawButton(_root.panel.welcome.help,150,51,iText("Help",'help'),iText("Find out how to use Potlatch, this map editor.",'prompt_help'));
113                _root.panel.welcome.help.onPress=function() { getUrl("http://wiki.openstreetmap.org/index.php/Potlatch","_blank"); };
114       
115                if (gpx) {
116                        _root.panel.welcome.createEmptyMovieClip("convert",4);
117                        drawButton(_root.panel.welcome.convert,150,73,iText("Track",'track'),iText("Convert your GPS track to (locked) ways for editing.",'prompt_track'));
118                        _root.panel.welcome.convert.onPress=function() { gpxToWays(); removeWelcome(true); };
119                }
120        }
121
122        function removeWelcome(live) {
123                if (!_root.panel.welcome) { return; }
124                removeMovieClip(_root.panel.welcome);
125                _root.panel.properties._visible=true;
126                _root.panel.presets._visible=true;
127                _root.windows.splashscreen.remove();
128                if (live) { setEditingStatus(iText("Editing map",'editingmap')); }
129                         else { setEditingStatus(iText("Practice mode",'practicemode'));
130                                        _root.sandbox=true; }
131        }
132
133        // -----------------------------------------------------------------------
134        // Main start function
135
136        function startPotlatch() {
137                _root.urllat  =Number(lat);                                             // LL from query string
138                _root.urllong =Number(long);                                    //  |
139                _root.baselong=urllong-xradius/masterscale/bscale;
140                _root.basey   =lat2y(urllat)+yradius/masterscale/bscale;
141                _root.baselat =y2lat(basey);
142                _root.ylat=baselat;      _root.lastylat=ylat;           // current Yahoo state
143                _root.ylon=baselong; _root.lastylon=ylon;               //  |
144                updateCoords(0,0);
145                updateLinks();
146                setBackground(preferences.data.baselayer);
147                whichWays();
148                _root.onEnterFrame=function() { everyFrame(); };
149        }
150       
151        // -----------------------------------------------------------------------
152        // Main start function
153
154        function setEditingStatus(str) {
155                _root.createEmptyMovieClip("status",62);
156                _root.status.createTextField("btext",1,0,0,90,20);
157                with (_root.status.btext) {
158                        text=str;
159                        setTextFormat(boldWhite);
160                        selectable=false; type='dynamic';
161                };
162                var tw=_root.status.btext.textWidth+5;
163                with (_root.status) {
164                        _x=Stage.width-tw-4; _y=Stage.height-panelheight-22; beginFill(0xFF0000,100);
165                        moveTo(0,0); lineTo(tw,0); lineTo(tw,17);
166                        lineTo(0,17); lineTo(0,0); endFill();
167                };
168        };
Note: See TracBrowser for help on using the repository browser.