summaryrefslogtreecommitdiff
path: root/wizards/com/sun/star/wizards/ui/UnoDialog2.py
diff options
context:
space:
mode:
Diffstat (limited to 'wizards/com/sun/star/wizards/ui/UnoDialog2.py')
-rw-r--r--wizards/com/sun/star/wizards/ui/UnoDialog2.py259
1 files changed, 259 insertions, 0 deletions
diff --git a/wizards/com/sun/star/wizards/ui/UnoDialog2.py b/wizards/com/sun/star/wizards/ui/UnoDialog2.py
new file mode 100644
index 000000000..0bf868687
--- /dev/null
+++ b/wizards/com/sun/star/wizards/ui/UnoDialog2.py
@@ -0,0 +1,259 @@
+from UnoDialog import *
+from ui.event.CommonListener import *
+from common.Desktop import Desktop
+import UIConsts
+
+'''
+This class contains convenience methods for inserting components to a dialog.
+It was created for use with the automatic conversion of Basic XML Dialog
+description files to a Java class which builds
+the same dialog through the UNO API.<br/>
+It uses an Event-Listener method, which calls a method through reflection
+wenn an event on a component is trigered.
+see the classes CommonListener for details
+'''
+
+class UnoDialog2(UnoDialog):
+
+ '''
+ Override this method to return another listener.
+ @return
+ '''
+
+ def __init__(self, xmsf):
+ super(UnoDialog2,self).__init__(xmsf,(), ())
+
+ def insertButton(
+ self, sName, actionPerformed, sPropNames, oPropValues, listener):
+ xButton = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlButtonModel",
+ sName, sPropNames, oPropValues)
+ if actionPerformed is not None:
+ actionPerformed = getattr(listener, actionPerformed)
+ xButton.addActionListener(
+ ActionListenerProcAdapter(actionPerformed))
+
+ return xButton
+
+ def insertImageButton(
+ self, sName, actionPerformed, sPropNames, oPropValues, listener):
+ xButton = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlButtonModel",
+ sName, sPropNames, oPropValues)
+ if actionPerformed is not None:
+ actionPerformed = getattr(listener, actionPerformed)
+ xButton.addActionListener(
+ ActionListenerProcAdapter(actionPerformed))
+
+ return xButton
+
+ def insertCheckBox(
+ self, sName, itemChanged, sPropNames, oPropValues, listener):
+ xCheckBox = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlCheckBoxModel",
+ sName, sPropNames, oPropValues)
+ if itemChanged is not None:
+ itemChanged = getattr(listener, itemChanged)
+ xCheckBox.addItemListener(ItemListenerProcAdapter(itemChanged))
+
+ return xCheckBox
+
+ def insertComboBox(
+ self, sName, actionPerformed, itemChanged,
+ textChanged, sPropNames, oPropValues, listener):
+ xComboBox = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlComboBoxModel",
+ sName, sPropNames, oPropValues)
+ if actionPerformed is not None:
+ actionPerformed = getattr(listener, actionPerformed)
+ xComboBox.addActionListener(
+ ActionListenerProcAdapter(actionPerformed))
+
+ if itemChanged is not None:
+ itemChanged = getattr(listener, itemChanged)
+ xComboBox.addItemListener(ItemListenerProcAdapter(itemChanged))
+
+ if textChanged is not None:
+ textChanged = getattr(listener, textChanged)
+ xComboBox.addTextListener(TextListenerProcAdapter(textChanged))
+
+ return xComboBox
+
+ def insertListBox(
+ self, sName, actionPerformed, itemChanged,
+ sPropNames, oPropValues, listener):
+ xListBox = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlListBoxModel",
+ sName, sPropNames, oPropValues)
+
+ if actionPerformed is not None:
+ actionPerformed = getattr(listener, actionPerformed)
+ xListBox.addActionListener(actionPerformed)
+
+ if itemChanged is not None:
+ itemChanged = getattr(listener, itemChanged)
+ xListBox.addItemListener(ItemListenerProcAdapter(itemChanged))
+
+ return xListBox
+
+ def insertRadioButton(
+ self, sName, itemChanged, sPropNames, oPropValues, listener):
+ xRadioButton = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlRadioButtonModel",
+ sName, sPropNames, oPropValues)
+ if itemChanged is not None:
+ itemChanged = getattr(listener, itemChanged)
+ xRadioButton.addItemListener(
+ ItemListenerProcAdapter(itemChanged))
+
+
+ return xRadioButton
+
+ def insertTitledBox(self, sName, sPropNames, oPropValues):
+ oTitledBox = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlGroupBoxModel",
+ sName, sPropNames, oPropValues)
+ return oTitledBox
+
+ def insertTextField(
+ self, sName, sTextChanged, sPropNames, oPropValues, listener):
+ return self.insertEditField(
+ sName, sTextChanged, "com.sun.star.awt.UnoControlEditModel",
+ sPropNames, oPropValues, listener)
+
+ def insertImage(self, sName, sPropNames, oPropValues):
+ return self.insertControlModel2(
+ "com.sun.star.awt.UnoControlImageControlModel",
+ sName, sPropNames, oPropValues)
+
+ def insertInfoImage(self, _posx, _posy, _iStep):
+ xImgControl = self.insertImage(
+ Desktop.getUniqueName(self.xDialogModel, "imgHint"),
+ ("Border",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_IMAGEURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y, "ScaleImage",
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_WIDTH),
+ (0, 10, UIConsts.INFOIMAGEURL, _posx, _posy, False, _iStep, 10))
+ return xImgControl
+
+ '''
+ This method is used for creating Edit, Currency, Date, Formatted,
+ Pattern, File and Time edit components.
+ '''
+
+ def insertEditField(
+ self, sName, sTextChanged, sModelClass,
+ sPropNames, oPropValues, listener):
+ xField = self.insertControlModel2(sModelClass,
+ sName, sPropNames, oPropValues)
+ if sTextChanged is not None:
+ sTextChanged = getattr(listener, sTextChanged)
+ xField.addTextListener(TextListenerProcAdapter(sTextChanged))
+
+ return xField
+
+ def insertFileControl(
+ self, sName, sTextChanged, sPropNames, oPropValues, listener):
+ return self.insertEditField(sName, sTextChanged,
+ "com.sun.star.awt.UnoControlFileControlModel",
+ sPropNames, oPropValues, listener)
+
+ def insertCurrencyField(
+ self, sName, sTextChanged, sPropNames, oPropValues, listener):
+ return self.insertEditField(
+ sName, sTextChanged,
+ "com.sun.star.awt.UnoControlCurrencyFieldModel",
+ sPropNames, oPropValues, listener)
+
+ def insertDateField(
+ self, sName, sTextChanged, sPropNames, oPropValues, listener):
+ return self.insertEditField(
+ sName, sTextChanged,
+ "com.sun.star.awt.UnoControlDateFieldModel",
+ sPropNames, oPropValues, listener)
+
+ def insertNumericField(
+ self, sName, sTextChanged, sPropNames, oPropValues, listener):
+ return self.insertEditField(
+ sName, sTextChanged,
+ "com.sun.star.awt.UnoControlNumericFieldModel",
+ sPropNames, oPropValues, listener)
+
+ def insertTimeField(
+ self, sName, sTextChanged, sPropNames, oPropValues, listener):
+ return self.insertEditField(
+ sName, sTextChanged,
+ "com.sun.star.awt.UnoControlTimeFieldModel",
+ sPropNames, oPropValues, listener)
+
+ def insertPatternField(
+ self, sName, sTextChanged, oPropValues, listener):
+ return self.insertEditField(sName, sTextChanged,
+ "com.sun.star.awt.UnoControlPatternFieldModel",
+ sPropNames, oPropValues, listener)
+
+ def insertFormattedField(
+ self, sName, sTextChanged, sPropNames, oPropValues, listener):
+ return self.insertEditField(
+ sName, sTextChanged,
+ "com.sun.star.awt.UnoControlFormattedFieldModel",
+ sPropNames, oPropValues, listener)
+
+ def insertFixedLine(self, sName, sPropNames, oPropValues):
+ oLine = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlFixedLineModel",
+ sName, sPropNames, oPropValues)
+ return oLine
+
+ def insertScrollBar(self, sName, sPropNames, oPropValues):
+ oScrollBar = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlScrollBarModel",
+ sName, sPropNames, oPropValues)
+ return oScrollBar
+
+ def insertProgressBar(self, sName, sPropNames, oPropValues):
+ oProgressBar = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlProgressBarModel",
+ sName, sPropNames, oPropValues)
+ return oProgressBar
+
+ def insertGroupBox(self, sName, sPropNames, oPropValues):
+ oGroupBox = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlGroupBoxModel",
+ sName, sPropNames, oPropValues)
+ return oGroupBox
+
+ def insertControlModel2(
+ self, serviceName, componentName, sPropNames, oPropValues):
+ try:
+ xControlModel = self.insertControlModel(
+ serviceName, componentName, (), ())
+ Helper.setUnoPropertyValues(
+ xControlModel, sPropNames, oPropValues)
+ Helper.setUnoPropertyValue(xControlModel,
+ PropertyNames.PROPERTY_NAME, componentName)
+ except Exception, ex:
+ traceback.print_exc()
+
+ aObj = self.xUnoDialog.getControl(componentName)
+ return aObj
+
+ def setControlPropertiesDebug(self, model, names, values):
+ i = 0
+ while i < len(names):
+ print " Settings: ", names[i]
+ Helper.setUnoPropertyValue(model, names[i], values[i])
+ i += 1
+
+ def getControlModel(self, unoControl):
+ obj = unoControl.Model
+ return obj
+
+ def showMessageBox(self, windowServiceName, windowAttribute, MessageText):
+ return SystemDialog.showMessageBox(
+ xMSF, self.xControl.Peer,
+ windowServiceName, windowAttribute, MessageText)
+