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

Last change on this file since 29461 was 17776, checked in by avar, 10 years ago

[2304]: Split the default English i18n parameter in Potlatch out to a YAML file

File size: 2.6 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_pois");
14                _root.panel.iconpanel.prompt.setTextFormat(plainText);
15                adjustTextField(_root.panel.iconpanel.prompt);
16                with (_root.panel.iconpanel) { _x=110; _y=25; _visible=true; };
17                var x=0; var y=0; var n=0;
18                for (var i in iconlist) {
19                        var n=iconlist[i];
20                        _root.panel.iconpanel.icons.attachMovie("icon_"+n,n,i);
21                        _root.panel.iconpanel.icons[n]._x=x*w+15;
22                        _root.panel.iconpanel.icons[n]._y=y*18+15;
23                        _root.panel.iconpanel.icons[n].onPress=function() { startIconDrag(this); };
24
25                        _root.panel.iconpanel.legends.createTextField(n,i,x*w+10+15,y*18+15-10,w-20,18);
26                        _root.panel.iconpanel.legends[n].text=iconnames[n];
27                        _root.panel.iconpanel.legends[n].setTextFormat(plainSmall);
28                        x++; if (x==7) { x=0; y++; }
29                }
30        }
31
32        function removeIconPanel() {
33                _root.panel.iconpanel._visible=false;
34                _root.panel.createEmptyMovieClip("iconpanel",51);
35        }
36
37        function startIconDrag(o) {
38                var mpos=new Object(); mpos.x=o._x; mpos.y=o._y;
39                _root.panel.iconpanel.localToGlobal(mpos);
40                _root.attachMovie("icon_"+o._name,"dragicon",25);
41                _root.dragicon._x=mpos.x;
42                _root.dragicon._y=mpos.y;
43                _root.dragicon.onMouseUp=function() { endIconDrag(o); };
44                _root.dragicon.startDrag();
45        }
46
47        function endIconDrag(o) {
48                _root.dragicon.stopDrag();
49                if (!_root.masksquare.hitTest(_root.dragicon)) {
50                        removeMovieClip(_root.dragicon);
51                        return;
52                }
53                var mpos=new Object();
54                mpos.x=_root.dragicon._x;
55                mpos.y=_root.dragicon._y;
56                _root.map.globalToLocal(mpos);
57
58                _root.map.pois.attachMovie("poi_"+o._name,--newnodeid,++poidepth);
59                _root.map.pois[newnodeid]._x=mpos.x;
60                _root.map.pois[newnodeid]._y=mpos.y;
61                _root.map.pois[newnodeid].icon="poi_"+o._name;
62                _root.map.pois[newnodeid].attr=deepCopy(icontags[o._name]);
63                _root.map.pois[newnodeid]._xscale=_root.map.pois[newnodeid]._yscale=_root.iconscale;
64                _root.map.pois[newnodeid].attr['name']="(type name here)";
65                _root.map.pois[newnodeid].select();
66                _root.map.pois[newnodeid].clean=false;
67                _root.poicount++;
68                markClean(false);
69                removeMovieClip(_root.dragicon);
70                _root.undo.append(UndoStack.prototype.undo_createpoi,
71                                                  [_root.map.pois[newnodeid]],iText('action_createpoi'));
72        }
Note: See TracBrowser for help on using the repository browser.