2 ** Project : Form Designer
3 ** File Purpose : QComboBox Control
5 ** Author : Mahmoud Fayed <msfclipper@yahoo.com>
10 class FormDesigner_QComboBox from QComboBox
12 CreateCommonAttributes()
13 CreateMoveResizeCornersAttributes()
19 ccurrentIndexChangedEvent = ""
20 ceditTextChangedEvent = ""
21 chighlightedEvent = ""
29 func setcCurrentIndex cValue
30 cCurrentIndex = cValue
32 func cCurrentIndexValue
35 func SetactivatedEventCode cValue
36 cactivatedEvent = cValue
38 func activatedEventCode
39 return cactivatedEvent
41 func SetcurrentIndexChangedEventCode cValue
42 ccurrentIndexChangedEvent = cValue
44 func currentIndexChangedEventCode
45 return ccurrentIndexChangedEvent
47 func SeteditTextChangedEventCode cValue
48 ceditTextChangedEvent = cValue
50 func editTextChangedEventCode
51 return ceditTextChangedEvent
53 func SethighlightedEventCode cValue
54 chighlightedEvent = cValue
56 func highlightedEventCode
57 return chighlightedEvent
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"
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)
80 clear() AddItem(oDesigner.oModel.GetObjectName(self),0)
83 func UpdateProperties oDesigner,nRow,nCol,cValue
84 UpdateCommonProperties(oDesigner,nRow,nCol,cValue)
90 setcCurrentIndex(cValue)
92 setactivatedEventCode(cValue)
94 setcurrentIndexChangedEventCode(cValue)
96 seteditTextChangedEventCode(cValue)
98 sethighlightedEventCode(cValue)
101 # Set the object name
102 clear() AddItem(oDesigner.oModel.GetObjectName(self),0)
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()) + '"'
116 func GenerateCustomCode oDesigner
118 if cItemsValue() != NULL {
119 aItems = split(cItemsValue(),",")
121 cOutput += 'AddItem("#{f1}",0)' + nl
122 cOutput = substr(cOutput,"#{f1}",oDesigner.PrepareStringForFormFile(Item))
125 if cCurrentIndexValue() != NULL {
126 cOutput += 'setcurrentIndex(#{f1})' + nl
127 cOutput = substr(cOutput,"#{f1}",ccurrentIndexValue())
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())
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])