ext自定義編輯器

2021-09-01 04:17:21 字數 4553 閱讀 9283

現在搞安卓已經有幾個月了。安卓實在是博大精深,幾個月下來感覺自己還是個門外漢,什麼廣播,什麼aidl。。。都不怎麼會用。做的軟體總感覺把握不住。感覺道路還很漫長。既然學習路程這麼漫長,過程中也有休息的時候,今天看了下以前學習ssh開發的乙個系統,頓時感覺自己在退步。以前開發的,現在感覺做起來有點困難。

這個系統用的技術有ssh+jbpm+ext(呵呵,流行。。反正又是為學校做的,就不管三七二十一用上了自己想學的技術了)。

今天就講下裡面的乙個自定義編輯器吧。

ext.namespace('designer');

ext.namespace('designer.ui');

ext.maxuiid = 1000; //介面元素開始序號

ext.selectedobj = {}; //設定當前選中控制項,預設為空物件,

//某一時刻有且只有乙個控制項處於選中狀態

ext.onready(function() );

var proxy_textfield = new ext.dd.dragsource('proxy_textfield', );

//拖動完成的事件

proxy_label.afterdragdrop = function(target, e, id) );//建立ui元素

designer.formpanel.add(uiobj);

designer.formpanel.dolayout();

} proxy_textfield.afterdragdrop=proxy_label.afterdragdrop;

var target = new ext.dd.ddtarget('target', 'dd');

//建立拖動目標區(這裡的dd與上面拖動源的group:dd相同

//只有相同group的ddproxy/dragsource才會接受)

var target2 = new ext.dd.ddtarget('target2', 'dd');

designer.uxform();

//右側屬性**

var right_prop = designer.propsgrid();

right_prop.show();

});//建立控制項

designer.createui = function(uitype,x,y,object);

ext.maxuiid += 1;

var uiobj=null;

// 控制新增的控制項型別

if(uitype=="label")

else if(uitype=="textfield")

if(uitype=="label")

}//設定新的選中控制項,並改變其樣式

ext.selectedobj = obj ;

el.addclass("selecteditem");

//將該物件的相關屬性儲存到以uiid為key的物件中

var uiid = obj.id;

designer.ui.uiid = obj;

var formid = uiobj.getel().findparent('form').id;

//var pos = gettargetxy(el,formid,this.getel());

/*開啟屬性列表*/

if(obj.clicked!=true)

//當前狀態有且只有乙個控制項處於選中狀態

if(uitype=="label");

}else ;

}right_prop.setsource(prop_sourceobj);

if(uitype=="label"));}

) }

//增加狀態控制,防止乙個控制項建立多次屬性**

obj.clicked = true;

var label = new ext.resizable(uiobj.id, );

////建立乙個拖拽物件

var target = new ext.dd.ddproxy(uiobj.id, 'dd');

//拖拽函式處理

target.ondragdrop = function(e,id)

right_prop.setsource();

//增加狀態控制,防止建立多個屬性**

obj.clicked = true;

//增加是否已經拖拽過,如果已經拖拽過則再拖拽的時候,預設先選中並顯示屬性**

obj.dragged = true;

}});

}else if(uitype=='textfield')

}//設定新的選中控制項,並改變其樣式

ext.selectedobj = obj ;

el.addclass("selecteditem");

//將該物件的相關屬性儲存到以uiid為key的物件中

var uiid = obj.id;

designer.ui.uiid = obj;

var formid = uiobj.getel().findparent('form').id;

//var pos = gettargetxy(el,formid,this.getel());

/*開啟屬性列表*/

if(obj.clicked!=true)

//當前狀態有且只有乙個控制項處於選中狀態

if(uitype=="textfield");

}else ;

}right_prop.setsource(prop_sourceobj);

if(uitype=="textfield")

) }

//增加狀態控制,防止乙個控制項建立多次屬性**

obj.clicked = true;

var label = new ext.resizable(uiobj.id, );

////建立乙個拖拽物件

var target = new ext.dd.ddproxy(uiobj.id, 'dd');

//拖拽函式處理

target.ondragdrop = function(e,id)

right_prop.setsource();

//增加狀態控制,防止建立多個屬性**

obj.clicked = true;

//增加是否已經拖拽過,如果已經拖拽過則再拖拽的時候,預設先選中並顯示屬性**

obj.dragged = true;

}});

}return uiobj;

}designer.uxform = function ());

ext.ajax.request(,

failure: function(response) ,

params:

});}

else}})

}} ]

});designer.formpanel = formpanel;

var formpaneldroptargetel = formpanel.body.dom;

var formpaneldroptarget = new ext.dd.droptarget(formpaneldroptargetel, ,

notifydrop : function(ddsource, e, data)

});designer.target = formpaneldroptarget;

}/*獲取相對父容器的座標值的方法*/

function gettargetxy(e,id,el);

}/*屬性**的定義*/

designer.propsgrid = function()

ext.grid_propgrid = new ext.grid.propertygrid(,

customeditors: ),

valuefield : 'objectvalue',

displayfield : 'permissionobjectname',

typeahead : true,

mode : 'local',

triggeraction : 'all',

allowblank:false,

blanktext : '請物件名稱',

emptytext : '選擇物件名稱',

selectonfocus : true

}) )},

viewconfig :

});return ext.grid_propgrid;

}ext.form.uxlabel = ext.extend(ext.form.label, );

ext.form.uxlabel.prototype.afterrender = ext.form.uxlabel.prototype.afterrender.createsequence(

function()

);

這應該就是核心的**了。老實說當時是怎麼在原來的基礎上改的我也忘了。extjs我也已經忘得差不多了,但我存了些基本控制項**。

表達的不是很好,但我會好好提高上去的。

Unity 自定義編輯器視窗 拓展編輯器功能

最近學習了unity自定義編輯器視窗,下面簡單總結,方便用到時回顧。新建乙個指令碼 using unityengine using system.collections using unityeditor 自定義的編輯器視窗 public class mywindow editorwindow vo...

spring中的自定義編輯器

spring中的自定義編輯器 乙個bean中有另乙個bean的屬性,用自定義編輯器,可以省bean標籤。public class addressediter extends propertyeditorsupport override public void setastext string tex...

ueditor編輯器新增自定義按鈕

一,ueditor的使用過程 在jsp檔案中引入ueditor.all.js,ueditor.config.js,ueditor.css,zh cn.js檔案。二,ueditor新增自定義按鈕。新增乙個 add 功能按鈕到ueditor上。第一步 找到 ueditor.config.js檔案中的to...