Ext 4 概述(七)之面板Panel 雜項

2021-05-25 02:13:20 字數 1886 閱讀 4847

panel的改變之一便是通過面板特定的元件布局類(a panel-specific componentlayout)來負責管理其邊界內所接觸的元素項。面板body元素會鋪張至任何空白的位置。任何元件都可以通過設定目標面板的dockeditems配置項屬性來相接觸,而且對方面板的dock屬性也要與之設定好才行。如此一來,ext3中困難重重的水平界工具條現今已大幅改進其靈活性,在ext4中輕而易舉地實現上述功能。

頭部header 現今為容器子類的第一類公民,從而獲得子元件管理與布局的特性。你可以設定headerposition的配置為 'top'、'right'、'bottom'或'left'的其中之一來決定和ader所依靠的位置(new docking support)。

tool工具按鈕(即像關閉、最小化此類的按鈕)雖然在ext3中都有,不過現在是屬於component的子類了,顯得更靈活。

ext很早就有調節大小的控制項,但只為dom元素服務。現在ext 4任意元件也可以透過ext.resizer.resizer達成調節大小的一方面功能。這對浮動的元件比較有用,或者說沒在ext容器體系以外渲染元件的時候,將會派上用場。

只要設定元件resizable:true的配置項,那麼將會分配多個調節手柄到元件的邊界上。預設用乙個**元素來產生調節大小的效果,mouse up之後就會真正讓元件的大小進行變化。具體的調節行為可以通過修改配置項物件resizable,——這個物件便是resizer類的引數物件。

ext一向支援多種方式的拖放支援,不過尚在dom元素的級別。ext 4改進後,新引入的ext.util.componentdragger提公升到元件級別,使得元件的拖動更簡單。componentdragger對浮動元件比較有用,對非容器模型的ui控制項也是有的。

只要設定元件的配置項draggable:true,這個元件就可以通過滑鼠來拖動了。windows本身就是可拖動的。拖動期間,被拖動的dragger實際是乙個空白的「幽靈」,滑鼠鬆開後,面板或窗體移動到目的地位置,然後這個「幽靈」也會消失。指定draggable的配置項可以修改dragger行為,該配置物件同樣適用於componentdragger的配置物件。

箱子布局hbox和vbox都可以包含ext.resizer.splitter元件,用於調整箱子之間的尺寸。最小和最大的尺寸都可以支援的。預設下,對箱子布局其中乙個flex項進行調整大小的話,就會把原來的flex的值變為精確的畫素值,flex值將會刪除。如果不想這種情況出現,可以配置maintainflex:true就可以保持flex值,哪怕在調整大小操作之後。但這只適用於分割欄劃分兩塊中的其中一塊。

與其他眾多ext的元件一樣,組成乙個tabpanel的主要部分,已被分解並成為ext4元件之第一公民。tab本身在ext3只是若干dom元素,現在ext4中卻是重新認識tab為乙個」按鈕「,容納這些tab的容器則就是乙個容器。各方面顯示,4.x的tabpanel比起ext3提公升的靈活性是顯著的。

以上的做法,就是從包含內容的子麵包中分離出來這些tabs,形成不同的小組件。正因為這樣的分離,我們現在可以允許了tab面板中顯示標題titile、工具按鈕等在舊ext3中無法想象的功能特性。

*******現在為容器之第一公民了,加入新元件或自定義*******布局的話,比起ext3來得更加容易。

承蒙厚愛,ext之主題一向被認為出彩的地方,看起來很好,可修改起來卻不容易。雖然ext 3通過分離結構以及視覺化樣式表改善了主題制定任務,但是尚不足夠,仍有冗餘、繁雜的瀏覽器私有特性以及乙個關鍵,便是css本身語言不足所帶來的問題。

ext 4 theming (video)

ext 4 theming (slides)

ext的主題樣式借助了新工具來實現的,內部透過轉換compass 和sass 來作為主要css輸出工具。sass為css標準的超級,加入了許多新的高階功能。

ext現在支援了特定版本或瀏覽器的元件markup,比起ext3跨越了一大步。

Ext4使用總結(四)Ext4跨命名空間 引用

呼叫端ext的載入配置 ext.loader.setconfig 在公用的命名域內,可以做action,event,logic等的處理,如下圖 在plugin中的controller資料夾中的commoncontroller中,可以定義如下的頁面引用 refs displayitem,引用了不同命名...

ext4使用總結(四)Ext4跨命名空間 引用

呼叫端ext的載入配置 ext.loader.setconfig 在公用的命名域內,可以做action,event,logic等的處理,如下圖 img 在plugin中的controller資料夾中的commoncontroller中,可以定義如下的頁面引用 refs displayitem,引用了...

ext4的延遲分配

ext4檔案系統在應用程式呼叫write的時候並不為快取頁面分配對應的物理磁碟塊,當檔案的快取頁面真正要被重新整理至磁碟中時,ext4會為所有未分配物理磁碟塊的頁面快取分配盡量連續的磁碟塊。linux檔案系統vfs層總是將應用程式的寫入請求分割成頁面 預設大小4kb 為單位,對於每個頁面,vfs會檢...