1. 程式人生 > >Flex開發流程設計器的經驗之談(2) (轉)

Flex開發流程設計器的經驗之談(2) (轉)

第一篇寫於2個多月前,其間趕上春節,同時去年底突然安排了新任務,忙於另外的研究去了,從而一直沒有再繼續總結。還有個原因,是因為期間在斷斷續續的flex

首先回顧一下上一篇的內容。其實上一篇是非常“原則性的設計思路”,很多人可能讀完以後會覺得很空洞,但真正在研發過程中,真正有價值的反而是這種看似空洞的指導思想和思路。——不信,可以嘗試從零做做看,你就會發現,你真正需要的是什麼了。

上一篇主要講了幾個原則:

(1)一定要MVC架構,這個MVC架構不是說那個諸如PureMVC那種框架性架構,而是指的剝離“流程圖形”“流程模型”“控制器”的設計結構,也就是eclipse gef中“Model-EditPart-Figure

”這個架構。

(2)玻璃板技術,外圍攔截滑鼠鍵盤事件,進行處理。

(3)Command模式,來處理操作。可以輕鬆解決redo-undo。而且嚴格記住,你的command作用的物件是“model”,而不是“圖形”。

(4)使用Layer模式,將不同的圖元放於不同的圖層上。比如底層的Grid放在某個層,活動節點放於某個層,連線線放於某個層,拖拽的陰影放於某個層等等。

(5)利用EditorEditorDomainSelectManager等等物件來維護針對當前流程的管理空間。這個在eclipse gef中是基本概念,不清楚的建議看看相關資料。

現在進入正題。

WorkbenchPartEditorPart

ViewPart

如果對Eclipse GEF/UI瞭解的話,看到這三個物件,你一定知道接下來要說什麼。

對一個Flex流程設計器來講,不僅僅只是流程圖繪製這一塊,你還需要涉及到一些額外的“檢視(View)”,比如你可能需要顯示當前流程圖的OutLine,你可能需要顯示問題列表,顯示xml格式檢視等等情況。借鑑eclipse gef/ui中的EditorPartViewPart設計思路,是非常不錯的。




如上圖,IEditorPart介面的實現代表一個圖形化的設計區域編輯器,而IViewPart代表檢視,其中每個ViewPart都會有一個Viewer,來表示真正的檢視實現。注意,此處Viewer

本身不是一個Flash DisplayObject物件,或者說不是一個Flex UIComponent物件,其內部的viewerControl才是表明此View的真正展示物件,比如是一個Tree,還是一個DataGrid,抑或是其他的UIComponent

IeditorPartIviewPart本身也不是DisplayObject,其僅僅表示這是一個View或者是一個Editor物件,索引一些資源。

看看IWorkbenchPart這個介面:

[javascript] view plaincopyprint?
  1. package com.primeton.framework.workbench
  2. {
  3. import mx.core.Container;
  4. import mx.core.UIComponent;
  5. publicinterface IWorkbenchPart {
  6. function createPartControl ( parent:Container=null ):Container;
  7. }
  8. }

package com.primeton.framework.workbench { import mx.core.Container; import mx.core.UIComponent; public interface IWorkbenchPart { function createPartControl ( parent:Container=null ):Container; } }

這個介面允許把Parent Contaier這個Display Object傳遞進來構建,也可以不傳遞進來。EditorPart和ViewPart都必須實現這個介面方法,來初始化其所代表的Display Object實現。

今天寫的少了點,趕明再接著寫。

相關推薦

Flex開發流程設計經驗之談2

第一篇寫於2個多月前,其間趕上春節,同時去年底突然安排了新任務,忙於另外的研究去了,從而一直沒有再繼續總結。還有個原因,是因為期間在斷斷續續的flex 首先回顧一下上一篇的內容。其實上一篇是非常“原則性的設計思路”,很多人可能讀完以後會覺得很空洞,但真正在研發過程中,真正有

Flex開發流程設計經驗之談2

 第一篇寫於2個多月前,其間趕上春節,同時去年底突然安排了新任務,忙於另外的研究去了,從而一直沒有再繼續總結。還有個原因,是因為期間在斷斷續續的flex 首先回顧一下上一篇的內容。其實上一篇是非常“原則性的設計思路”,很多人可能讀完以後會覺得很空洞,但真正在研發過程中,真正

Flex開發流程設計經驗之談3

Model—— 實現對Model介面的宣告,以及對Model變更的時候做Notifer響應機制的實現。 Flex Extention—— 擴充套件了一些Flex Controls和Containers做,來輔助檢視顯示。

Activiti工作流引擎學習及流程設計的安裝Eclipse外掛

工作流簡介     我們先來描述一個在工作中經常用到的一個流程:請假     員工張三請假一天 主管王五批准     員工李四請假一天 主管王五不批准  &nbs

SpringBoot搭建Activiti整合流程設計一步一步教你配置

轉載請註明出處:猿小雷,https://blog.csdn.net/qq_34638225 1、框架搭建 在IDE裡新建SpringBoot專案,在pom.xml裡引入如下依賴 pom.xml <?xml version="1.0" e

web工作流管理系統開發之三 視覺化流程設計

      在工作流管理系統中,引擎的所有的活動,驅動,和流轉,都是以流程定義為基礎而展開的。流程定義檔案是流程能執行的先決條件,同時流程定義檔案又是工作流引擎的設計基礎,引擎必須要能生成,解釋和獲取到任意流程定義節點的資訊。業務流程建模就是將一個具體的業務流程系統用流程定義檔案來描述。而生成這個流程定

寫了一個Flex的web流程設計原型系統

花了三週時間,給公司寫了一個基於Flex的web流程設計器原型系統。既然是原型系統,肯定有很多細微之處不完善的,但作為未來產品元件一部分,其預研和構架部分,還是拿得出手的。Flex本身在圖形化方面提供了很良好的支援,但是要想實現Model與檢視的分離、Command的處理等基

activiti web流程設計 工作流的 整合視頻教程 SSM和獨立部署

activiti 工作流 web流程設計器 ssm activiti工作流 本視頻為activiti工作流的web流程設計器整合視頻教程整合Acitiviti在線流程設計器(Activiti-Modeler 5.21.0 官方流程設計器)本視頻共講了兩種整合方式1. 流程設計器和其它工作流

jQuery架構設計與實現2.1.4版本

需要 引入 hasclass 8.4 uri and hub 組織 移除 市面上的jQuery書太多了,良莠不齊,看了那麽多總覺得少點什麽 對"幹貨",我不喜歡就事論事的寫代碼,我想把自己所學的知識點,代碼技巧,設計思想,代碼模式能很好的表達出來,所以考慮通過分析jQuer

java activiti5 在線web流程設計整合視頻教程 SSM和獨立部署

activiti 工作流 web流程設計器 ssm activiti工作流 本視頻為activiti工作流的web流程設計器整合視頻教程整合Acitiviti在線流程設計器(Activiti-Modeler 5.21.0 官方流程設計器)本視頻共講了兩種整合方式1. 流程設計器和其它工作流

用vue開發一個app2,main.js

.html 第一次用 courier ace 第一次 router -s 提示 新建 昨天跟著vue的官網搭建了vue的一個腳手架,我也是第一次用VUE一切都在摸索階段。 今天試著看下裏面腳手架裏面有點什麽東西 先看看main.js

Activiti-master java activiti5 在線web流程設計畫布整合視頻教程

工作流 ssm activiti web流程設計器 activiti工作流 本視頻為activiti工作流的web流程設計器整合視頻教程整合Acitiviti在線流程設計器(Activiti-Modeler 5.21.0 官方流程設計器)本視頻共講了兩種整合方式1. 流程設計器和其它工作流

Activiti-master activiti5 在線java web流程設計畫布整合視頻教程

acf -h 兩種 org 介紹 項目 orm adding 不能 本視頻為activiti工作流的web流程設計器整合視頻教程整合Acitiviti在線流程設計器(Activiti-Modeler 5.21.0 官方流程設計器)本視頻共講了兩種整合方式1. 流程設計器和其

PHP全棧開發: HTML 學習2. div 布局

樣式 nbsp oat clas 控制 color 兩個 如果 排列 無序列表,有序列表,自定義列表 無序列表是ul表示,每個元素用li表示 有序列表是ol表示,每個元素用li表示 <ul> <li>首頁</li>&

10.折線連接--WEB設計JQUERY插件講解含源碼

href 連接點 connector icon play span 進行 就是 表單 關鍵字:設計器源代碼,Web設計器,工作流設計器,jQuery插件,組態設計器,SCADA系統設計器,流程圖設計,表單設計建模,報表設計,可視化,設計時,運行時,輕量級開放平臺。 前面章節

12.手機端如何拖動組件--WEB設計JQUERY插件講解含源碼

鼠標事件 component 移動 edt design 說明文檔 mov each offset 關鍵字:設計器源代碼,Web設計器,工作流設計器,jQuery插件,組態設計器,SCADA系統設計器,流程圖設計,表單設計建模,報表設計,可視化,設計時,運行時,輕量級開放平

13.美化界面--WEB設計JQUERY插件講解含源碼

計時 erl 設計時 流程圖 spirit ora 輕量 com 源代碼 今天花了一個小時對頁面略做了一些美化,看起來更專業了點, 主要是一些背景圖片之類的樣式調整,初學者可以看下,如何切分spirit圖片,遇到問題主要是LI中的元素如何垂直居中的問題(解決方案是li設

基於JsPlumb的流程設計FlowDesigner

基於JsPlumb的流程設計器FlowDesigner 專案介紹 前段時間專案中缺少一個流程設計器模組,於是花了一個來月的時間從技術選型到開發再到功能完善搞了一個流程設計器。由於本人不怎麼擅長寫前端程式碼,開發過程中碰到了不少問題,初版的程式碼寫得有點糟糕,不過功能大部分都已經實現。

SQL Server資料庫開發2.T-Sql程式設計

一,批處理(GO)         --可以使不在同一批處理中的sql語句相互之間不受影響          --把相互聯絡的放在同一批次,沒聯絡的放在不同批次

activiti5.22使用網頁流程設計設計出來的流程圖,在部署流程後連線不顯示名稱解決

如上圖的連線畫圈部分,在activiti5.22使用網頁流程設計器設計出來的流程圖,在部署流程後連線上的名稱是不顯示的,需要修改一下原始碼 從activiti-image-generator-5.22.0-sources.jar原始碼包中找到org.activiti.i