home *** CD-ROM | disk | FTP | other *** search
/ Freelog 125 / Freelog_MarsAvril2015_No125.iso / Bureautique / LibreOffice / LibreOffice_4.3.5_Win_x86.msi / UnoDialog2.py < prev    next >
Text File  |  2014-05-25  |  10KB  |  260 lines

  1. #
  2. # This file is part of the LibreOffice project.
  3. #
  4. # This Source Code Form is subject to the terms of the Mozilla Public
  5. # License, v. 2.0. If a copy of the MPL was not distributed with this
  6. # file, You can obtain one at http://mozilla.org/MPL/2.0/.
  7. #
  8. # This file incorporates work covered by the following license notice:
  9. #
  10. #   Licensed to the Apache Software Foundation (ASF) under one or more
  11. #   contributor license agreements. See the NOTICE file distributed
  12. #   with this work for additional information regarding copyright
  13. #   ownership. The ASF licenses this file to you under the Apache
  14. #   License, Version 2.0 (the "License"); you may not use this file
  15. #   except in compliance with the License. You may obtain a copy of
  16. #   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  17. #
  18. from .UnoDialog import UnoDialog, UIConsts
  19. from ..common.Desktop import Desktop
  20. from ..common.PropertyNames import PropertyNames
  21. from .event.CommonListener import ItemListenerProcAdapter, \
  22.     ActionListenerProcAdapter, TextListenerProcAdapter, \
  23.     AdjustmentListenerProcAdapter
  24.  
  25. '''
  26. This class contains convenience methods for inserting components to a dialog.
  27. It was created for use with the automatic conversion of Basic XML Dialog
  28. description files to a Java class which builds
  29. the same dialog through the UNO API.<br/>
  30. It uses an Event-Listener method, which calls a method through reflection
  31. wenn an event on a component is trigered.
  32. see the classes CommonListener for details
  33. '''
  34.  
  35. class UnoDialog2(UnoDialog):
  36.  
  37.     '''
  38.     Override this method to return another listener.
  39.     @return
  40.     '''
  41.  
  42.     def __init__(self, xmsf):
  43.         super(UnoDialog2,self).__init__(xmsf,(), ())
  44.         ControlList = {}
  45.  
  46.     def insertButton(
  47.         self, sName, actionPerformed, sPropNames, oPropValues, listener):
  48.         xButton = self.insertControlModel(
  49.             "com.sun.star.awt.UnoControlButtonModel",
  50.             sName, sPropNames, oPropValues)
  51.         if actionPerformed is not None:
  52.             actionPerformed = getattr(listener, actionPerformed)
  53.             xButton.addActionListener(
  54.                 ActionListenerProcAdapter(actionPerformed))
  55.  
  56.         return xButton
  57.  
  58.     def insertImageButton(
  59.             self, sName, actionPerformed, sPropNames, oPropValues, listener):
  60.         xButton = self.insertControlModel(
  61.             "com.sun.star.awt.UnoControlButtonModel",
  62.             sName, sPropNames, oPropValues)
  63.         if actionPerformed is not None:
  64.             actionPerformed = getattr(listener, actionPerformed)
  65.             xButton.addActionListener(
  66.                 ActionListenerProcAdapter(actionPerformed))
  67.  
  68.         return xButton
  69.  
  70.     def insertCheckBox(
  71.         self, sName, itemChanged, sPropNames, oPropValues, listener):
  72.         xCheckBox = self.insertControlModel(
  73.             "com.sun.star.awt.UnoControlCheckBoxModel",
  74.             sName, sPropNames, oPropValues)
  75.         if itemChanged is not None:
  76.             itemChanged = getattr(listener, itemChanged)
  77.             xCheckBox.addItemListener(ItemListenerProcAdapter(itemChanged))
  78.  
  79.         return xCheckBox
  80.  
  81.     def insertComboBox(
  82.         self, sName, actionPerformed, itemChanged,
  83.         textChanged, sPropNames, oPropValues, listener):
  84.         xComboBox = self.insertControlModel(
  85.         "com.sun.star.awt.UnoControlComboBoxModel",
  86.         sName, sPropNames, oPropValues)
  87.         if actionPerformed is not None:
  88.             actionPerformed = getattr(listener, actionPerformed)
  89.             xComboBox.addActionListener(
  90.                 ActionListenerProcAdapter(actionPerformed))
  91.  
  92.         if itemChanged is not None:
  93.             itemChanged = getattr(listener, itemChanged)
  94.             xComboBox.addItemListener(ItemListenerProcAdapter(itemChanged))
  95.  
  96.         if textChanged is not None:
  97.             textChanged = getattr(listener, textChanged)
  98.             xComboBox.addTextListener(TextListenerProcAdapter(textChanged))
  99.  
  100.         return xComboBox
  101.  
  102.     def insertListBox(
  103.         self, sName, actionPerformed, itemChanged,
  104.         sPropNames, oPropValues, listener):
  105.         xListBox = self.insertControlModel(
  106.             "com.sun.star.awt.UnoControlListBoxModel",
  107.             sName, sPropNames, oPropValues)
  108.  
  109.         if itemChanged is not None:
  110.             itemChanged = getattr(listener, itemChanged)
  111.             xListBox.addItemListener(ItemListenerProcAdapter(itemChanged))
  112.  
  113.         return xListBox
  114.  
  115.     def insertRadioButton(
  116.         self, sName, itemChanged, sPropNames, oPropValues, listener):
  117.         xRadioButton = self.insertControlModel(
  118.             "com.sun.star.awt.UnoControlRadioButtonModel",
  119.             sName, sPropNames, oPropValues)
  120.         if itemChanged is not None:
  121.             itemChanged = getattr(listener, itemChanged)
  122.             xRadioButton.addItemListener(
  123.                 ItemListenerProcAdapter(itemChanged))
  124.  
  125.         return xRadioButton
  126.  
  127.     def insertTitledBox(self, sName, sPropNames, oPropValues):
  128.         oTitledBox = self.insertControlModel(
  129.             "com.sun.star.awt.UnoControlGroupBoxModel",
  130.             sName, sPropNames, oPropValues)
  131.         return oTitledBox
  132.  
  133.     def insertTextField(
  134.         self, sName, sTextChanged, sPropNames, oPropValues, listener):
  135.         return self.insertEditField(
  136.             sName, sTextChanged, "com.sun.star.awt.UnoControlEditModel",
  137.             sPropNames, oPropValues, listener)
  138.  
  139.     def insertImage(self, sName, sPropNames, oPropValues):
  140.         return self.insertControlModel(
  141.             "com.sun.star.awt.UnoControlImageControlModel",
  142.             sName, sPropNames, oPropValues)
  143.  
  144.     def insertInfoImage(self, _posx, _posy, _iStep):
  145.         xImgControl = self.insertImage(
  146.             Desktop.getUniqueName(self.xDialogModel, "imgHint"),
  147.             ("Border",
  148.                 PropertyNames.PROPERTY_HEIGHT,
  149.                 PropertyNames.PROPERTY_IMAGEURL,
  150.                 PropertyNames.PROPERTY_POSITION_X,
  151.                 PropertyNames.PROPERTY_POSITION_Y, "ScaleImage",
  152.                 PropertyNames.PROPERTY_STEP,
  153.                 PropertyNames.PROPERTY_WIDTH),
  154.             (0, 10, UIConsts.INFOIMAGEURL, _posx, _posy, False, _iStep, 10))
  155.         return xImgControl
  156.  
  157.     '''
  158.     This method is used for creating Edit, Currency, Date, Formatted,
  159.     Pattern, File and Time edit components.
  160.     '''
  161.  
  162.     def insertEditField(
  163.         self, sName, sTextChanged, sModelClass,
  164.         sPropNames, oPropValues, listener):
  165.         xField = self.insertControlModel(sModelClass,
  166.             sName, sPropNames, oPropValues)
  167.         if sTextChanged is not None:
  168.             sTextChanged = getattr(listener, sTextChanged)
  169.             xField.addTextListener(TextListenerProcAdapter(sTextChanged))
  170.         return xField
  171.  
  172.     def insertFileControl(
  173.         self, sName, sTextChanged, sPropNames, oPropValues, listener):
  174.         return self.insertEditField(sName, sTextChanged,
  175.             "com.sun.star.awt.UnoControlFileControlModel",
  176.             sPropNames, oPropValues, listener)
  177.  
  178.     def insertCurrencyField(
  179.         self, sName, sTextChanged, sPropNames, oPropValues, listener):
  180.         return self.insertEditField(
  181.             sName, sTextChanged,
  182.             "com.sun.star.awt.UnoControlCurrencyFieldModel",
  183.             sPropNames, oPropValues, listener)
  184.  
  185.     def insertDateField(
  186.         self, sName, sTextChanged, sPropNames, oPropValues, listener):
  187.         return self.insertEditField(
  188.             sName, sTextChanged,
  189.             "com.sun.star.awt.UnoControlDateFieldModel",
  190.             sPropNames, oPropValues, listener)
  191.  
  192.     def insertNumericField(
  193.         self, sName, sTextChanged, sPropNames, oPropValues, listener):
  194.         return self.insertEditField(
  195.             sName, sTextChanged,
  196.             "com.sun.star.awt.UnoControlNumericFieldModel",
  197.             sPropNames, oPropValues, listener)
  198.  
  199.     def insertTimeField(
  200.         self, sName, sTextChanged, sPropNames, oPropValues, listener):
  201.         return self.insertEditField(
  202.             sName, sTextChanged,
  203.             "com.sun.star.awt.UnoControlTimeFieldModel",
  204.             sPropNames, oPropValues, listener)
  205.  
  206.     def insertPatternField(
  207.         self, sName, sTextChanged, oPropValues, listener):
  208.         return self.insertEditField(sName, sTextChanged,
  209.             "com.sun.star.awt.UnoControlPatternFieldModel",
  210.             sPropNames, oPropValues, listener)
  211.  
  212.     def insertFormattedField(
  213.         self, sName, sTextChanged, sPropNames, oPropValues, listener):
  214.         return self.insertEditField(
  215.             sName, sTextChanged,
  216.             "com.sun.star.awt.UnoControlFormattedFieldModel",
  217.             sPropNames, oPropValues, listener)
  218.  
  219.     def insertFixedLine(self, sName, sPropNames, oPropValues):
  220.         oLine = self.insertControlModel(
  221.             "com.sun.star.awt.UnoControlFixedLineModel",
  222.             sName, sPropNames, oPropValues)
  223.         return oLine
  224.  
  225.     def insertLabel(self, sName, sPropNames, oPropValues):
  226.         oFixedText = self.insertControlModel(
  227.             "com.sun.star.awt.UnoControlFixedTextModel",
  228.             sName, sPropNames, oPropValues)
  229.         return oFixedText
  230.  
  231.     def insertScrollBar(self, sName, sPropNames, oPropValues,
  232.             iControlKey, listener):
  233.         oScrollBar = self.insertControlModel(
  234.             "com.sun.star.awt.UnoControlScrollBarModel",
  235.             sName, sPropNames, oPropValues)
  236.         if listener is not None:
  237.             method = getattr(listener, "scrollControls")
  238.             oScrollBar.addAdjustmentListener(
  239.                 AdjustmentListenerProcAdapter(method))
  240.         if self.ControlList is not None:
  241.             self.ControlList[sName] = iControlKey
  242.         return oScrollBar
  243.  
  244.     def insertProgressBar(self, sName, sPropNames, oPropValues):
  245.         oProgressBar = self.insertControlModel(
  246.             "com.sun.star.awt.UnoControlProgressBarModel",
  247.             sName, sPropNames, oPropValues)
  248.         return oProgressBar
  249.  
  250.     def insertGroupBox(self, sName, sPropNames, oPropValues):
  251.         oGroupBox = self.insertControlModel(
  252.             "com.sun.star.awt.UnoControlGroupBoxModel",
  253.             sName, sPropNames, oPropValues)
  254.         return oGroupBox
  255.  
  256.     def showMessageBox(self, windowServiceName, windowAttribute, MessageText):
  257.         return SystemDialog.showMessageBox(
  258.             xMSF, self.xControl.Peer,
  259.             windowServiceName, windowAttribute, MessageText)
  260.