def __init__(self): qg.QFrame.__init__(self) self.setFrameStyle(qg.QFrame.Panel | qg.QFrame.Raised) self.setLayout(qg.QVBoxLayout()) self.layout().setContentsMargins(3,1,3,3) self.layout().setSpacing(0) self.setFixedHeight(150) main_widget = qg.QWidget() main_widget.setLayout(qg.QVBoxLayout()) main_widget.layout().setContentsMargins(2,2,2,2) main_widget.layout().setSpacing(5) main_widget.setFixedHeight(140) main_widget.setFixedWidth(290) graphics_scene = qg.QGraphicsScene() graphics_view = qg.QGraphicsView() graphics_view.setScene(graphics_scene) graphics_view.setHorizontalScrollBarPolicy(qc.Qt.ScrollBarAlwaysOff) graphics_view.setVerticalScrollBarPolicy(qc.Qt.ScrollBarAlwaysOff) graphics_view.setFocusPolicy(qc.Qt.NoFocus) graphics_view.setSizePolicy(qg.QSizePolicy.Minimum, qg.QSizePolicy.Minimum) graphics_view.setStyleSheet("QGraphicsView {border-style: none;}") self.layout().addWidget(graphics_view) self.main_widget_proxy = graphics_scene.addWidget(main_widget) main_widget.setParent(graphics_view) title_layout = qg.QHBoxLayout() select_layout = qg.QHBoxLayout() button_layout = qg.QHBoxLayout() slider_layout = qg.QHBoxLayout() check_layout = qg.QHBoxLayout() main_widget.layout().addLayout(title_layout) main_widget.layout().addLayout(select_layout) main_widget.layout().addLayout(button_layout) main_widget.layout().addLayout(slider_layout) main_widget.layout().addLayout(check_layout) title_line = DT_LineEdit() title_line.setPlaceholderMessage('Untitled') title_layout.addWidget(title_line) self.close_bttn = DT_CloseButton('X') self.close_bttn.setObjectName('roundedButton') title_layout.addWidget(self.close_bttn) store_items = DT_Button('Store Items') clear_items = DT_Button('Clear Items') select_layout.addSpacerItem(qg.QSpacerItem(5, 5, qg.QSizePolicy.Expanding)) select_layout.addWidget(store_items) select_layout.addWidget(clear_items) select_layout.addSpacerItem(qg.QSpacerItem(5, 5, qg.QSizePolicy.Expanding)) self.store_start_bttn = DT_ButtonThin('Store Start') self.reset_item_bttn = DT_ButtonThin('Reset') self.store_end_bttn = DT_ButtonThin('Store End') button_layout.addWidget(self.store_start_bttn) button_layout.addWidget(self.reset_item_bttn) button_layout.addWidget(self.store_end_bttn) self.start_lb = DT_Label('Start') self.slider = DT_Slider() self.slider.setRange(0, 49) self.end_lb = DT_Label('End') slider_layout.addWidget(self.start_lb) slider_layout.addWidget(self.slider) slider_layout.addWidget(self.end_lb) self.transforms_chbx = DT_Checkbox('Transform') self.attributes_chbx = DT_Checkbox('UD Attributes') self.transforms_chbx.setCheckState(qc.Qt.Checked) check_layout.addWidget(self.transforms_chbx) check_layout.addWidget(self.attributes_chbx) self.items = {} self.slider_down = False self._animation = None self.close_bttn.clicked.connect(self.closeWidget) store_items.clicked.connect(self.storeItems) clear_items.clicked.connect(self.clearItems) self.store_start_bttn.clicked.connect(self.storeStart) self.store_end_bttn.clicked.connect(self.storeEnd) self.reset_item_bttn.clicked.connect(self.resetAttributes) self.slider.valueChanged.connect(self.setLinearInterpolation) self.slider.valueChanged.connect(self.changeLabelGlow) self.slider.sliderReleased.connect(self._endSliderUndo) self.enableButtons(False)