FLTK學習-5-使用FLUID編程(3)

11.6 FLUID 參考手冊

本節描述了FLUID的各個窗口。

11.6.1 構件瀏覽器

      主窗口顯示一個菜單欄和包含所有已定義的構件的滾動瀏覽器。正在編輯的.fl文件的名字顯示在窗口標題欄。

      構件分層存儲,你可以通過點擊構件左邊的三角形打開或者關閉一層。最左邊的是父母,他們下面所列出的所有構件都是他們的孩子,父母可以沒有孩子。

      分層結構的最上層由函數和類構成,它們每一個都可以在輸出的.cxx文件中生成一個單獨的C++公共函數或者類。調用函數或者實例化類將創建它的所有子構件。

      分層機構的第二層包含窗口,每一個產生一個Fl_Window實例。

      再往下層就是構件(Fl_Widgets的子類)或者構件組(包含其他組)。簡單的構件組是爲佈局、導航和調整大小之用。標籤組提供了著名的標籤卡界面。

      構件在瀏覽器中以名字顯示(例如:例子中的”main_panel”)或者以類型和標籤顯示(例如:”Button””the green”)。

      你可以通過點擊構件的名字選擇它,這將高亮顯示選中的構件(你可以通過顯示窗口選中構件)。你可以通過將鼠標拖過構件選中多個構件,或者通過按住Shift鍵然後用鼠標點擊選中或者取消選中多個構件。要取消選中,可以點擊最後一個構件下面的空白區域。注意:隱藏的孩子可能會在不知不覺中被選中(沒有界面上的指示)。

      你可以通過雙擊打開構件,或者通過按F1鍵打開多個選中的構件,你可以通過顯示的一個控制面板來改變構件(們)。

11.6.2 菜單項

      頂部的菜單欄可以在任何顯示的窗口上作爲彈出菜單彈出。在任何窗口上都可以使用所有菜單項的快捷鍵。菜單項如下:

File/Open…(Ctrl+o)

      放棄當前的編輯文件,讀入一個新的.fl文件,如果你已經對當前文件進行了修改,你需要進行確認(放棄當前的編輯文件)。

      FLUID也可以讀由FormsXForms程序生成的.fd文件,最好是使用文件融合而不是直接打開。FLUID並不完全認識.fd文件,將對所有不認識的數據在控制終端打印一條警告信息。你可能需要對結果進行編輯以修復這些錯誤。小心不要不改變文件名就保存,因爲FLUID將以它自己的方式改寫.fd文件,改寫之後的文件fdesign程序將無法再讀取。

File/Insert…(Ctrl+i)

      在不改變當前fl文件名的情況下插入另一個fl文件的內容。所有的函數(即使他們與當前文件中的名字相同)將被加入,你需要使用剪切/粘貼來將構件放到你希望的位置。

File/Save(Ctrl+s)

      將當前數據寫入fl文件,如果文件未命名,FLUID將詢問文件名。

File/Save As... (Ctrl+Shift+S)

      詢問新的文件名保存文件。

File/Write Code (Ctrl+Shift+C)

      編輯數據生成cxxh文件,這跟你使用-c選項運行FLUID時產生的文件一模一樣。輸出文件名與fl的文件名一樣,只是將fl換爲了h或者cxx而已。

File/Write Strings (Ctrl+Shift+W)

      爲當前文件中的所有文本標籤寫一個信息。輸出文件名與當前文件一樣,忽略路徑,將fl換成了txtpo或者msg,具體情況取決於國際化模式。

File/Quit (Ctrl+q)

      退出FLUID,如果你修改了當前文件,將彈出詢問確認。

Edit/Undo (Ctrl+z)

      這個還沒有實現,你最好經常保存一下以便能夠從你犯的錯誤中恢復。

Edit/Cut (Ctrl+x)

      刪除選中的構件以及所有他們的孩子,他們被保存在剪貼板文件中可以他們粘貼到任何FLUID窗口中。

Edit/Copy (Ctrl+c)

      複製所有選中的構件和他們的孩子到剪貼板。

Edit/Paste (Ctrl+v)

      從剪貼板上粘貼構件,如果構件是窗口,它將被加入任何選中的函數或者包含在當前選擇中。如果構件是一個普通的構件,將被加入到任何選中的窗口或者構件組中,如果沒有窗口或者構架組被選中,那麼將加入到當前選擇的父窗口或者構件組中。

      爲避免混亂,最好在粘貼之前選中一個構件。

      剪切/粘貼是唯一改變構件的父對象的方式。

Edit/Select All (Ctrl+a)

      選中當前選擇所在的構件組中的所有構件。如果他們已經選中了那麼該操作將選中該構件組父對象中的所有構件。重複執行Ctrl+a選中範圍將逐步擴大直到全部選中。

Edit/Open... (F1 or double click)

      在屬性面板中顯示當前構件,如果當前是一個不可見的窗口那麼窗口將會顯示出來。

Edit/Sort

      對選中的構件按照從左到右,從上到下的順序排序。要使FLTK的導航鍵正常工作你需要這麼做【??】,你可能需要使用”Earlier””Later”來執行精細的排序【??】。這不會影響窗口的位置以及函數。

Edit/Earlier (F2)

      將父母對象中的所有選中構件按照【加入?】時間由晚到早先後排序(如果可能的話),這將影響導航順序,如果構件有重疊也將影響它們的重繪,因爲後【加入的?】構件在先【加入的?】構件之上繪出。你也可以用該操作來對函數、類以及函數中的窗口進行重新排序。

Edit/Later (F3)

      將父母對象中的所有選中構件按照【加入?】時間由早到晚先後排序(如果可能的話)。

Edit/Group (F7)

創建一個新的Fl_Group對象,並且將當前所有選中的組件設爲它的子構件。

Edit/Ungroup (F8)

如果一個組構件中的所有子構件都被選中的話則刪除該父構件。

Edit/Overlays on/off (Ctrl+Shift+O)

在不改變選擇的情況下切換紅色覆蓋區域的顯示【??】。這使得更容易查看框的邊界以及佈局如何,如果你改變了選擇,覆蓋將強制到後面【??沒看懂】。

Edit/Project Settings... (Ctrl+p)

顯示工程設置面板,輸出文件名控制由FLUID生成的文件的名字或擴展名。如果你選中了”Include .h from .cxx”按鈕,代碼文件將自動包含頭文件。國際化選項將在本章的後面介紹。

11.7 FLUID偏好窗口。

Edit/GUI Settings... (Shift+Ctrl+p)

顯示GUI設置面板,該面板用於控制用戶界面設置。

New/Code/Function

創建一個新的C函數,你將被要求給函數一個名字,該名字必須是一個合法的C++函數模板,不需要返回值。你可以傳遞參數,在構件中輸入的代碼中你可以引用這些參數【??】。

      如果函數包含未命名的窗口,應該將其聲明爲返回Fl_Window指針,未命名的窗口由它(函數)返回(多於一個的未命名窗口是無效的)。如果函數包含的都是命名的窗口,它可以無返回值(返回void)。

      .cxx輸出生成爲一個可以編譯運行的自包含程序是可行的。這通過將函數名刪除???【看不懂,原文: This is done by deleting the function name so main(argc, argv) is used】。函數將在所有窗口創建時調用show()函數,然後調用Fl::run(),這還可以用來測試調整大小或者其他用戶界面行爲。

你可以通過雙擊函數修改函數名。

New/Window

      創建一個新的Fl_Window構件,窗口將被加入到當前選中的函數中或者包含當前選中項的函數中。該窗口將以100x100的尺寸顯示,你可以調整到你想要的大小。

構件面板將同時顯示,關於它的介紹將在本章稍後給出。

New/...

New菜單項上的所有其他項都是Fl_Widget的子類,創建它們將把它們添加到當前選中的組件組或者窗口或者包含當前選中構件的窗口或者構件組。如果可能的話初始的維度和位置將選擇複製當前的構件。當你創建構件時構件控制窗口將顯示,後面將會對它進行介紹。

Layout/Align/...

將所有的選中構件以第一個爲基準對齊。

Layout/Space Evenly/...

將選中的構件在選中空間中均勻分佈,構件將從第一個到最後一個排序。

Layout/Make Same Size/...

將所有選中的構件調整爲與第一個選中的大小一樣。

Layout/Center in Group/...

將所有選中構件以他們的父構件爲基準中心對齊。

Layout/Grid... (Ctrl+g)

顯示網格設置面板,該面板控制你移動或者調整構件大小時對齊,網格對齊就是你拖拽時你一個移動的最小距離【就這麼個意思吧】。

Shell/Execute Command... (Alt+x)

顯示shell命令面板,shell命令在運行”make”腳本編譯FLTK輸出時經常使用。

Shell/Execute Again (Alt+g)

再次運行shell命令。

Help/About FLUID

彈出FLUID版本面板

Help/On FLUID

顯示手冊的本章。

Help/Manual

顯示手冊的目錄頁。

11.6.3 構件面板

當你雙擊一個構件或者一組構件時,你將獲得構件屬性面板。當你使用此面板修改屬性時,改變將會在窗口中實時反映出來。點擊”no overlay”按鈕來隱藏紅色輪廓線是很有用的,它可以使你更準確的看清構件,特別是在設置框的樣式時。

      如果你選擇了多個控件,它們的域可能有不同的值,這種情況下有一個構件的值被顯示出來,但是如果你改變這個值所有選中構件的值將會變爲這個值。

      點擊”OK”保存修改,選擇另一個構件也可以保存修改,FLUID檢查簡單的語法錯誤,例如在保存文本之前的代碼中的括弧的不匹配。

      恢復或者取消將使得所有的構件恢復到打開面板之前的狀態或者上次點擊OK時,但是在當前版本的FLUID中,改變了可視化的屬性(例如:顏色,標籤或者邊框)將不能夠通過恢復或者取消來複原,但是對於代碼如回調的修改可以復原。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章