self._controlLayout.addWidget(self._historyView.toplevel)
self._controlLayout.addWidget(self._userEntry.toplevel)
- self._pluginKeyboardSpot = QtGui.QVBoxLayout()
self._inputLayout = QtGui.QVBoxLayout()
- self._inputLayout.addLayout(self._pluginKeyboardSpot)
self._layout = QtGui.QHBoxLayout()
self._layout.addLayout(self._controlLayout)
self._keyboardPlugins.enable_plugin(builtinKeyboardId)
self._builtinPlugin = self._keyboardPlugins.keyboards["Builtin"].construct_keyboard()
self._builtinKeyboard = self._builtinPlugin.setup(self._history, self._handler)
- self._inputLayout.addLayout(self._builtinKeyboard.toplevel)
# Plugins
self.enable_plugin(self._keyboardPlugins.lookup_plugin("Trigonometry"))
self.enable_plugin(self._keyboardPlugins.lookup_plugin("Computer"))
self.enable_plugin(self._keyboardPlugins.lookup_plugin("Alphabet"))
+ self._inputLayout.addLayout(self._builtinKeyboard.toplevel)
+ for keyboardData in self._activeKeyboards:
+ keyboardData["pluginKeyboard"].hide()
self._set_plugin_kb(0)
self.set_fullscreen(self._app.fullscreenAction.isChecked())
"plugin": plugin,
"pluginKeyboard": pluginKeyboard,
})
+ self._inputLayout.addLayout(pluginKeyboard.toplevel)
def _set_plugin_kb(self, pluginIndex):
plugin = self._activeKeyboards[pluginIndex]
- # @todo self._pluginButton.set_label(plugin["pluginName"])
- for i in xrange(self._pluginKeyboardSpot.count()):
- self._pluginKeyboardSpot.removeItem(self._pluginKeyboardSpot.itemAt(i))
+ for keyboardData in self._activeKeyboards:
+ if plugin["pluginName"] != keyboardData["pluginName"]:
+ keyboardData["pluginKeyboard"].hide()
+
+ # @todo self._pluginButton.set_label(plugin["pluginName"])
pluginKeyboard = plugin["pluginKeyboard"]
- self._pluginKeyboardSpot.addItem(pluginKeyboard.toplevel)
+ pluginKeyboard.show()
def _load_history(self):
serialized = []
aboutToShow = QtCore.pyqtSignal()
aboutToHide = QtCore.pyqtSignal()
+ BUTTON_RADIUS = 24
+
def __init__(self, buttonSlice, parent = None):
QtGui.QWidget.__init__(self, parent)
self._cachedCenterPosition = self.rect().center()
self._buttonFiling = PieFiling()
self._buttonFiling.set_center(buttonSlice)
+ # @todo Figure out how to make the button auto-fill to content
+ self._buttonFiling.setOuterRadius(self.BUTTON_RADIUS)
self._buttonArtist = PieArtist(self._buttonFiling)
- centerSize = self._buttonArtist.centerSize()
- self._buttonFiling.setOuterRadius(max(centerSize.width(), centerSize.height()))
self._poppedUp = False
self._mousePosition = None
def setOuterRadius(self, radius):
self._filing.setOuterRadius(radius)
+ def buttonRadius(self):
+ return self._buttonFiling.outerRadius()
+
+ def setButtonRadius(self, radius):
+ self._buttonFiling.setOuterRadius(radius)
+
def sizeHint(self):
return self._buttonArtist.pieSize()
@misc_utils.log_exception(_moduleLogger)
def showEvent(self, showEvent):
- self._buttonFiling.setOuterRadius(max(self.size().width(), self.size().height()) / 2)
self._buttonArtist.show(self.palette())
self._cachedCenterPosition = self.rect().center()
def toplevel(self):
return self._layout
+ def show(self):
+ for cell in self.__cells.itervalues():
+ cell.show()
+
+ def hide(self):
+ for cell in self.__cells.itervalues():
+ cell.hide()
+
def add_pie(self, row, column, pieButton):
assert len(pieButton) == 8
self._layout.addWidget(pieButton, row, column)