OptionsGroupUI.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. from typing import Dict
  2. from PyQt5 import QtWidgets
  3. from PyQt5.QtCore import QSettings
  4. import gettext
  5. import FlatCAMTranslation as fcTranslate
  6. import builtins
  7. from flatcamGUI.preferences.OptionUI import OptionUI
  8. fcTranslate.apply_language('strings')
  9. if '_' not in builtins.__dict__:
  10. _ = gettext.gettext
  11. settings = QSettings("Open Source", "FlatCAM")
  12. if settings.contains("machinist"):
  13. machinist_setting = settings.value('machinist', type=int)
  14. else:
  15. machinist_setting = 0
  16. class OptionsGroupUI(QtWidgets.QGroupBox):
  17. app = None
  18. def __init__(self, fixme_get_rid_of_this=None, **kwargs):
  19. super().__init__(**kwargs)
  20. self.setStyleSheet("""
  21. QGroupBox
  22. {
  23. font-size: 16px;
  24. font-weight: bold;
  25. }
  26. """)
  27. self.layout = QtWidgets.QVBoxLayout()
  28. self.setLayout(self.layout)
  29. def option_dict(self) -> Dict[str, OptionUI]:
  30. # FIXME!
  31. return {}
  32. class OptionsGroupUI2(OptionsGroupUI):
  33. def __init__(self, **kwargs):
  34. super().__init__(**kwargs)
  35. self.grid = QtWidgets.QGridLayout()
  36. self.layout.addLayout(self.grid)
  37. self.grid.setColumnStretch(0, 0)
  38. self.grid.setColumnStretch(1, 1)
  39. self.options = self.build_options()
  40. row = 0
  41. for option in self.options:
  42. row += option.add_to_grid(grid=self.grid, row=row)
  43. self.layout.addStretch()
  44. def build_options(self) -> [OptionUI]:
  45. return []
  46. def option_dict(self) -> Dict[str, OptionUI]:
  47. result = {}
  48. for optionui in self.options:
  49. result[optionui.option] = optionui
  50. return result