source: subversion/applications/editors/potlatch/iconpanel.as @ 16416

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

a bit more Potlatch 1.1

File size: 2.5 KB
Line 
1
2        // =====================================================================================
3        // Icon panel
4
5        function drawIconPanel() {
6                if (!_root.iconlist) { return; }
7                var w=Math.min((getPanelColumns()*190-30)/7,105);
8                _root.panel.createEmptyMovieClip("iconpanel",51);
9                _root.panel.iconpanel._visible=true;
10                _root.panel.iconpanel.createEmptyMovieClip("icons",1);
11                _root.panel.iconpanel.createEmptyMovieClip("legends",2);
12                _root.panel.iconpanel.createTextField("prompt",3,5,-20,300,20);
13                _root.panel.iconpanel.prompt.text=iText("Drag and drop points of interest","drag_pois");
14                _root.panel.iconpanel.prompt.setTextFormat(plainText);
15                with (_root.panel.iconpanel) { _x=110; _y=25; _visible=true; };
16                var x=0; var y=0; var n=0;
17                for (var i in iconlist) {
18                        var n=iconlist[i];
19                        _root.panel.iconpanel.icons.attachMovie("icon_"+n,n,i);
20                        _root.panel.iconpanel.icons[n]._x=x*w+15;
21                        _root.panel.iconpanel.icons[n]._y=y*18+15;
22                        _root.panel.iconpanel.icons[n].onPress=function() { startIconDrag(this); };
23
24                        _root.panel.iconpanel.legends.createTextField(n,i,x*w+10+15,y*18+15-10,w-20,18);
25                        _root.panel.iconpanel.legends[n].text=iconnames[n];
26                        _root.panel.iconpanel.legends[n].setTextFormat(plainSmall);
27                        x++; if (x==7) { x=0; y++; }
28                }
29        }
30
31        function removeIconPanel() {
32                _root.panel.iconpanel._visible=false;
33                _root.panel.createEmptyMovieClip("iconpanel",51);
34        }
35
36        function startIconDrag(o) {
37                var mpos=new Object(); mpos.x=o._x; mpos.y=o._y;
38                _root.panel.iconpanel.localToGlobal(mpos);
39                _root.attachMovie("icon_"+o._name,"dragicon",25);
40                _root.dragicon._x=mpos.x;
41                _root.dragicon._y=mpos.y;
42                _root.dragicon.onMouseUp=function() { endIconDrag(o); };
43                _root.dragicon.startDrag();
44        }
45
46        function endIconDrag(o) {
47                _root.dragicon.stopDrag();
48                if (!_root.masksquare.hitTest(_root.dragicon)) {
49                        removeMovieClip(_root.dragicon);
50                        return;
51                }
52                var mpos=new Object();
53                mpos.x=_root.dragicon._x;
54                mpos.y=_root.dragicon._y;
55                _root.map.globalToLocal(mpos);
56
57                _root.map.pois.attachMovie("poi_"+o._name,--newnodeid,++poidepth);
58                _root.map.pois[newnodeid]._x=mpos.x;
59                _root.map.pois[newnodeid]._y=mpos.y;
60                _root.map.pois[newnodeid].icon=o._name;
61                _root.map.pois[newnodeid].attr=deepCopy(icontags[o._name]);
62                _root.map.pois[newnodeid].attr['name']="(type name here)";
63                _root.map.pois[newnodeid].select();
64                _root.map.pois[newnodeid].clean=false;
65                _root.poicount++;
66                markClean(false);
67                removeMovieClip(_root.dragicon);
68                _root.undo.append(UndoStack.prototype.undo_createpoi,
69                                                  [_root.map.pois[newnodeid]],iText("creating a POI",'action_createpoi'));
70        }
Note: See TracBrowser for help on using the repository browser.