OSDN Git Service

Ring 1.10 以来となる開発環境の日本語ローカライズ版 (評価版) を追加 (ノートパッド、フォームデザイナー、対話型実行環境、ファイルの検索)。
[ring-lang-081/ring.git] / applications / formdesigner / source / controls / qcombobox.ring
1 /*
2 **      Project : Form Designer 
3 **      File Purpose :  QComboBox Control
4 **      Date : 2017.04.29
5 **      Author :  Mahmoud Fayed <msfclipper@yahoo.com>
6 */
7
8 package formdesigner
9
10 class FormDesigner_QComboBox from QComboBox
11
12         CreateCommonAttributes()
13         CreateMoveResizeCornersAttributes()
14
15         cItems = ""
16         cCurrentIndex  = ""
17
18         cactivatedEvent = ""
19         ccurrentIndexChangedEvent = ""
20         ceditTextChangedEvent = ""
21         chighlightedEvent = ""
22
23         func SetcItems cValue
24                 cItems = cValue
25
26         func cItemsValue
27                 return cItems
28
29         func setcCurrentIndex cValue
30                 cCurrentIndex = cValue
31
32         func cCurrentIndexValue
33                 return cCurrentIndex
34
35         func SetactivatedEventCode cValue
36                 cactivatedEvent = cValue
37
38         func activatedEventCode
39                 return cactivatedEvent
40
41         func SetcurrentIndexChangedEventCode cValue
42                 ccurrentIndexChangedEvent = cValue
43
44         func currentIndexChangedEventCode
45                 return ccurrentIndexChangedEvent
46
47         func SeteditTextChangedEventCode cValue
48                 ceditTextChangedEvent = cValue
49
50         func editTextChangedEventCode
51                 return ceditTextChangedEvent
52
53         func SethighlightedEventCode cValue
54                 chighlightedEvent = cValue
55
56         func highlightedEventCode
57                 return chighlightedEvent
58
59         func AddObjectProperties  oDesigner
60                 AddObjectCommonProperties(oDesigner)
61                 oDesigner.oView.AddProperty(T_FORMDESIGNER_ATTRIBUTE_ITEMS,False)                       # "Items (S: Comma)"
62                 oDesigner.oView.AddProperty(T_FORMDESIGNER_ATTRIBUTE_CURRENTINDEX,False)                        # "Current Index"
63                 oDesigner.oView.AddProperty(T_FORMDESIGNER_ATTRIBUTE_ACTIVATEDEVENT,False)              # "activatedEvent"
64                 oDesigner.oView.AddProperty(T_FORMDESIGNER_ATTRIBUTE_CURRENTINDEXCHANGEDEVENT,False)    # "currentIndexChangedEvent"
65                 oDesigner.oView.AddProperty(T_FORMDESIGNER_ATTRIBUTE_EDITTEXTCHANGEDEVENT,False)                # "editTextChangedEvent"
66                 oDesigner.oView.AddProperty(T_FORMDESIGNER_ATTRIBUTE_HIGHLIGHTEDEVENT,False)            # "highlightedEvent"
67
68         func DisplayProperties oDesigner
69                 DisplayCommonProperties(oDesigner)
70                 oPropertiesTable = oDesigner.oView.oPropertiesTable
71                 oPropertiesTable.Blocksignals(True)
72                 oPropertiesTable.item(C_AFTERCOMMON,1).settext(cItemsValue())
73                 oPropertiesTable.item(C_AFTERCOMMON+1,1).settext(cCurrentIndexValue())
74                 oPropertiesTable.item(C_AFTERCOMMON+2,1).settext(activatedEventcode())
75                 oPropertiesTable.item(C_AFTERCOMMON+3,1).settext(currentIndexChangedEventcode())
76                 oPropertiesTable.item(C_AFTERCOMMON+4,1).settext(editTextChangedEventcode())
77                 oPropertiesTable.item(C_AFTERCOMMON+5,1).settext(highlightedEventcode())
78                 oPropertiesTable.Blocksignals(False)
79                 # Set the object name
80                         clear() AddItem(oDesigner.oModel.GetObjectName(self),0)
81
82
83         func UpdateProperties oDesigner,nRow,nCol,cValue
84                 UpdateCommonProperties(oDesigner,nRow,nCol,cValue)
85                 if nCol = 1 {
86                         switch nRow {
87                                 case C_AFTERCOMMON
88                                         setcItems(cValue)
89                                 case C_AFTERCOMMON+1
90                                         setcCurrentIndex(cValue)
91                                 case C_AFTERCOMMON+2
92                                         setactivatedEventCode(cValue)
93                                 case C_AFTERCOMMON+3
94                                         setcurrentIndexChangedEventCode(cValue)
95                                 case C_AFTERCOMMON+4
96                                         seteditTextChangedEventCode(cValue)
97                                 case C_AFTERCOMMON+5
98                                         sethighlightedEventCode(cValue)
99                         }
100                 }
101                 # Set the object name
102                         clear() AddItem(oDesigner.oModel.GetObjectName(self),0)
103
104
105         func ObjectDataAsString oDesigner,nTabsCount
106                 cOutput = ObjectDataAsString2(oDesigner,nTabsCount)
107                 cTabs = std_copy(char(9),nTabsCount)
108                 cOutput += "," + nl + cTabs + ' :cItems =  "' + oDesigner.PrepareStringForFormFile(cItemsValue()) + '"'
109                 cOutput += "," + nl + cTabs + ' :cCurrentIndex =  "' + oDesigner.PrepareStringForFormFile(cCurrentIndexValue()) + '"'
110                 cOutput += "," + nl + cTabs + ' :setactivatedEvent =  "' + oDesigner.PrepareStringForFormFile(activatedEventCode()) + '"'
111                 cOutput += "," + nl + cTabs + ' :setcurrentIndexChangedEvent =  "' + oDesigner.PrepareStringForFormFile(currentIndexChangedEventCode()) + '"'
112                 cOutput += "," + nl + cTabs + ' :seteditTextChangedEvent =  "' + oDesigner.PrepareStringForFormFile(editTextChangedEventCode()) + '"'
113                 cOutput += "," + nl + cTabs + ' :sethighlightedEvent =  "' + oDesigner.PrepareStringForFormFile(highlightedEventCode()) + '"'
114                 return cOutput
115
116         func GenerateCustomCode oDesigner
117                 cOutput = ""
118                 if cItemsValue() != NULL {
119                         aItems = split(cItemsValue(),",")
120                         for item in aItems {
121                                 cOutput += 'AddItem("#{f1}",0)' + nl
122                                 cOutput = substr(cOutput,"#{f1}",oDesigner.PrepareStringForFormFile(Item))
123                         }
124                 }
125                 if cCurrentIndexValue() != NULL {
126                         cOutput += 'setcurrentIndex(#{f1})' + nl
127                         cOutput = substr(cOutput,"#{f1}",ccurrentIndexValue())
128                 }
129                 cOutput += 'setactivatedEvent("#{f1}")' + nl
130                 cOutput = PrepareEvent(cOutput,activatedEventCode(),"#{f1}")
131                 cOutput = substr(cOutput,"#{f1}",activatedEventCode())
132                 cOutput += 'setcurrentIndexChangedEvent("#{f1}")' + nl
133                 cOutput = PrepareEvent(cOutput,currentIndexChangedEventCode(),"#{f1}")
134                 cOutput = substr(cOutput,"#{f1}",currentIndexChangedEventCode())
135                 cOutput += 'seteditTextChangedEvent("#{f1}")' + nl
136                 cOutput = PrepareEvent(cOutput,editTextChangedEventCode(),"#{f1}")
137                 cOutput = substr(cOutput,"#{f1}",editTextChangedEventCode())
138                 cOutput += 'sethighlightedEvent("#{f1}")' + nl
139                 cOutput = PrepareEvent(cOutput,highlightedEventCode(),"#{f1}")
140                 cOutput = substr(cOutput,"#{f1}",highlightedEventCode())
141                 return cOutput
142
143         func RestoreProperties oDesigner,Item
144                 RestoreCommonProperties(oDesigner,item)
145                 itemdata = item[:data]
146                 SetcItems(itemdata[:cItems])
147                 SetcCurrentIndex(itemdata[:cCurrentIndex])
148                 SetactivatedEventCode(itemdata[:setactivatedEvent])
149                 SetcurrentIndexChangedEventCode(itemdata[:setcurrentIndexChangedEvent])
150                 SeteditTextChangedEventCode(itemdata[:seteditTextChangedEvent])
151                 SethighlightedEventCode(itemdata[:sethighlightedEvent])