OSDN Git Service

Ring 1.10 以来となる開発環境の日本語ローカライズ版 (評価版) を追加 (ノートパッド、フォームデザイナー、対話型実行環境、ファイルの検索)。
[ring-lang-081/ring.git] / applications / formdesigner / source / windowflags / windowflagsController.ring
1 /*
2 **      Project : Form Designer 
3 **      File Purpose :  Window Flags Window
4 **      Date : 2017.04.27
5 **      Author :  Mahmoud Fayed <msfclipper@yahoo.com>
6 */
7
8 load "windowflagsView.ring"
9
10 if IsMainSourceFile() { 
11         new qApp {
12                 StyleFusion()
13                 open_window(:windowflagsController)
14                 exec()
15         }
16 }
17
18 class windowflagscontroller from windowsControllerParent
19
20         oView = new windowflagsView {
21                 win.setwindowflags(Qt_CustomizeWindowHint | Qt_WindowTitleHint | Qt_WindowStaysOnTopHint )
22                 ListHints.setselectionmode(QAbstractItemView_MultiSelection)
23                 win.setwindowmodality(2)
24         }
25
26         aTypeList = [ "Qt_Window"  , "Qt_dialog"  , "Qt_sheet"  ,
27                         "Qt_Drawer"  , "Qt_popup"  , "Qt_Tool"  , "Qt_ToolTip"  ,
28                         "Qt_SplashScreen"  ]
29
30         aHintsList = ["Qt_WindowTitleHint"  ,
31                         "Qt_WindowSystemMenuHint"  ,
32                         "Qt_WindowMinimizeButtonHint"  ,
33                         "Qt_WindowMaximizeButtonHint"  ,
34                         "Qt_WindowCloseButtonHint" ,
35                         "Qt_WindowContextHelpButtonHint"  ,
36                         "Qt_WindowShadeButtonHint" ,
37                         "Qt_WindowStaysOnTopHint"  ,
38                         "Qt_WindowStaysOnBottomHint"  ,
39                         "Qt_CustomizeWindowHint" ]
40
41         cFlags = ""     # The window output
42
43         nPropertyIndex = 6
44
45         func LoadSelectedItems
46                 oPropertiesTable = parent().oView.oPropertiesTable
47                 cItems = oPropertiesTable.item(nPropertyIndex,1).Text()
48                 aItems = split(cItems,"|")
49                 for item in aItems {
50                         item = trim(item)       
51                         nPos = find(aTypeList,item)
52                         if nPos {
53                                 oView.ListType.item(nPos).setSelected(True)
54                                 loop 
55                         }       
56                         nPos = find(aHintsList,item)
57                         if nPos {
58                                 oView.ListHints.item(nPos).setSelected(True)
59                                 loop 
60                         }                                       
61                 }
62
63         func OkAction
64                 cFlags = ""
65                 nType = oView.ListType.currentrow() 
66                 cFlags += aTypeList[nType]
67                 for x = 1 to len(aHintsList) {
68                         if oView.ListHints.item(x).isSelected() {
69                                 cFlags += " | " + aHintsList[x]
70                         }
71                 }
72                 if isParent() {
73                         oPropertiesTable = parent().oView.oPropertiesTable
74                         # Set the Window Flags
75                                 oPropertiesTable.Blocksignals(True)
76                                 oPropertiesTable.item(nPropertyIndex,1).settext(cFlags)
77                                 oPropertiesTable.Blocksignals(False)
78                         parent().oModel.FormObject().setWindowFlagsValue(cFlags)
79                 }
80                 oView.Close()
81
82         func CancelAction
83                 oView.Close()