Пример #1
0
 def _onOpenNewEditEntity(self, msg):
     if self._currentEntity is not None:
         if self._currentEntity.getName() == msg.entityName:
             return
         if not self._askToSaveEntity():
             return
     loader = self._app._editorNative.getEntityLoader()
     try:
         newEntity = loader.loadEntity(msg.entityName)
     except Exception as e:
         Log.error(
             "[_EventManager:_onOpenNewEditEntity] Can't load entity '{0}' (Exception: {1})"
             .format(msg.entityName, e))
         traceback.print_tb(e.__traceback__)
         return
     if newEntity is None:
         return
     if not newEntity.loadToNative():
         Log.error(
             "[_EventManager:_onOpenNewEditEntity] Can't load entity '{0}' to native"
             .format(msg.entityName))
         return
     if self._currentEntity is not None:
         self._currentEntity.unloadFromNative()
     self._currentEntity = newEntity
     SendMessage(MsgSetEditEntity(self._currentEntity))
Пример #2
0
 def closeEditEntity(self):
     if self._currentEntity is not None:
         if not self._askToSaveEntity():
             return
         self._currentEntity.unloadFromNative()
     self._currentEntity = None
     SendMessage(MsgSetEditEntity(self._currentEntity))
Пример #3
0
 def _signal_colorSelectBt_clicked(self):
     r, g, b, a = self._val.getVal()
     resColor = QColorDialog.getColor(QColor(r, g, b,
                                             a), self, "Select Color",
                                      QColorDialog.ShowAlphaChannel)
     if not resColor.isValid():
         return
     self._push(resColor)
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #4
0
 def _createNewChildEntity(self, treeItem, childName):
     parentItem = treeItem.parent()
     newEntity = parentItem._entity.createNewInternalChild(childName)
     if newEntity is None:
         return False
     treeItem._entity = newEntity
     treeItem.setText(0, newEntity.getName())
     self._tree.setItemWidget(treeItem, 0, None)
     SendMessage(MsgChangeEditEntity(treeItem._entity))
     return True
Пример #5
0
 def onAddCopyLogic(self, editEntity, logicName, logicData):
     if editEntity is None:
         raise RuntimeError("Can't add logic to invalid entity")
     if not editEntity.isLoadedToNative():
         raise RuntimeError(
             "Can't add logic to entity '{0}' that is not loaded to native".
             format(editEntity.getName()))
     entityLogic = editEntity.addCopyLogic(logicName, logicData)
     if entityLogic is None:
         raise RuntimeError("Can't add logic '{0}' to entity '{1}'".format(
             logicName, editEntity.getName()))
     SendMessage(MsgAddLogicToEntity(editEntity, entityLogic))
Пример #6
0
 def _onAddLogicToEntity(self, msg):
     entity = msg.entity
     if entity is None:
         raise RuntimeError("Can't add logic to invalid entity")
     if not entity.isLoadedToNative():
         raise RuntimeError(
             "Can't add logic to entity '{0}' that is not loaded to native".
             format(entity.getName()))
     from dialog.UniversalSelectDialog import ExecEntityLogicSelectDialog
     logic = ExecEntityLogicSelectDialog()
     if logic is None:
         return
     entityLogic = entity.addLogic(logic.getName())
     if entityLogic is None:
         raise RuntimeError("Can't add logic '{0}' to  entity '{1}'".format(
             logic.getName(), entity.getName()))
     SendMessage(MsgAddLogicToEntity(entity, entityLogic))
Пример #7
0
 def _signal_xSpinBox_valueChanged(self, newXVal):
     yAngle = self._ySpinBox.value()
     zAngle = self._zSpinBox.value()
     self._push(newXVal, yAngle, zAngle)
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #8
0
 def _signal_clearBt_clicked(self):
     self._push(None)
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #9
0
 def _signal_addLogicBt_clicked(self):
     SendMessage(MsgOnAddLogicBtPressed(self._editEntity))
Пример #10
0
 def _insertNewItem(self):
     self._val.addNewElement()
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #11
0
 def _signal_floatSpinBox_valueChanged(self, newValue):
     self._push(newValue)
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #12
0
 def _signal_tree_currentItemChanged(self, currItem, prevItem):
     if currItem is not None and hasattr(currItem, "_entity"):
         SendMessage(MsgChangeEditEntity(currItem._entity))
Пример #13
0
 def _signal_xSpinBox_valueChanged(self, newXVal):
     x, y, z = self._val.getVal()
     self._push(newXVal, y, z)
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #14
0
 def _signal_lineEdit_textEdited(self, text):
     self._push(text)
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #15
0
 def _signal_checkBox_stateChanged(self, state):
     if state == Qt.Checked:
         self._push(True)
     else:
         self._push(False)
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #16
0
 def _signal_selectBt_clicked(self):
     res = ExecSelectFromChildrenEntities(self._val.getEntity())
     if res is None:
         return
     self._push(res)
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #17
0
 def _signal_comboBox_indexChanged(self, idx):
     text = self._comboBox.currentText()
     self._push(text)
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #18
0
 def _signal_spinBox_valueCanged(self, val):
     self._push(val)
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #19
0
 def _signal_zSpinBox_valueChanged(self, newZVal):
     x, y, z, w = self._val.getVal()
     self._push(x, y, newZVal, w)
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #20
0
 def _signal_tree_itemDoublecClicked(self, item):
     if item._node.isDir():
         return
     entityName = item._node.getRelativePath()
     SendMessage(MsgOpenEntityForEdit(entityName))
Пример #21
0
 def _signal_removeBt_clicked(self, button):
     self._val.removeElement(button._value)
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #22
0
 def _signal_zSpinBox_valueChanged(self, newZVal):
     xAngle = self._xSpinBox.value()
     yAngle = self._ySpinBox.value()
     self._push(xAngle, yAngle, newZVal)
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #23
0
 def _signal_ySpinBox_valueChanged(self, newYVal):
     x, y = self._val.getVal()
     self._push(x, newYVal)
     SendMessage(MsgOnLogicDataEdited(self._val))
Пример #24
0
 def _signal_selectBt_clicked(self):
     res = ExecResourceSelectDialog(self._val.getResourceType())
     if res is None:
         return
     self._push(res.getRelativePath())
     SendMessage(MsgOnLogicDataEdited(self._val))