Beispiel #1
0
    def CreateUI(self, parent, sizer):
        fold_panel = self.CreateFoldPanel(sizer)

        pnl = wx.Panel(fold_panel)
        pnl.SetBackgroundColour(wx.Colour("#464646"))

        vbox = wx.BoxSizer(wx.VERTICAL)
        hbox = wx.BoxSizer(wx.HORIZONTAL)

        self.textcontrol = TextCtrl(pnl,
                                    value=self.GetValue(),
                                    style=wx.BORDER_SIMPLE,
                                    placeholder="",
                                    size=(-1, 32))
        hbox.Add(self.textcontrol, proportion=1, flag=wx.EXPAND | wx.BOTH)

        self.button = Button(pnl, label=self.GetBtnLabel(), size=(-1, 32))
        hbox.Add(self.button, flag=wx.LEFT, border=5)
        self.button.Bind(EVT_BUTTON, self.WidgetEvent)

        vbox.Add(hbox, flag=wx.EXPAND | wx.BOTH | wx.ALL, border=6)

        vbox.Fit(pnl)
        pnl.SetSizer(vbox)

        self.AddToFoldPanel(sizer, fold_panel, pnl, spacing=10)
    def UpdatePanelContents(self, selected_node):
        self.main_panel.DestroyChildren()

        if selected_node is not None:

            # Node info
            nodeinfo_pnl = wx.Panel(self.main_panel, size=(-1, 50))
            nodeinfo_pnl.SetBackgroundColour("#464646")

            nodeinfo_pnl_sizer = wx.GridBagSizer(vgap=1, hgap=1)

            node_label = wx.StaticText(nodeinfo_pnl, label=selected_node._label)
            node_label.SetForegroundColour("#fff")
            node_label.SetFont(self.area_label.GetFont().Bold())

            self.help_button = Button(nodeinfo_pnl, label="", flat=True,
                                      bmp=(ICON_HELP.GetBitmap(), 'left'))

            nodeinfo_pnl_sizer.Add(node_label, (0, 1),
                                   flag=wx.TOP | wx.BOTTOM, border=6)
            nodeinfo_pnl_sizer.Add(self.help_button, (0, 4),
                                   flag=wx.TOP | wx.BOTTOM | wx.RIGHT, border=6)
            nodeinfo_pnl_sizer.AddGrowableCol(2)
            nodeinfo_pnl.SetSizer(nodeinfo_pnl_sizer)

            self._mainsizer.Add(nodeinfo_pnl, flag=wx.EXPAND)

            # Node Properties
            panel_bar = fpb.FoldPanelBar(self.main_panel, agwStyle=fpb.FPB_VERTICAL)

            selected_node.NodePanelUI(self.main_panel, panel_bar)

            style = fpb.CaptionBarStyle()
            style.SetCaptionFont(self.Parent.GetFont())
            style.SetCaptionColour(wx.Colour("#fff"))
            style.SetFirstColour(wx.Colour('#5c5c5c'))
            style.SetSecondColour(wx.Colour('#5c5c5c'))
            panel_bar.ApplyCaptionStyleAll(style)

            self._mainsizer.Add(panel_bar, 1, wx.EXPAND | wx.ALL)

            self._mainsizer.Layout()

            # Also bind the focus handler to the main panel and panel_bar
            nodeinfo_pnl.Bind(wx.EVT_ENTER_WINDOW, self.OnAreaFocus)
            panel_bar.Bind(wx.EVT_ENTER_WINDOW, self.OnAreaFocus)

        else:
            # Delete the window if the node is not selected
            self._mainsizer.Clear(delete_windows=True)

        self.AUIManager.Update()
        self.Parent.Refresh()
        self.Parent.Update()
Beispiel #3
0
    def BuildUI(self):
        main_sizer = wx.BoxSizer(wx.VERTICAL)

        topbar = wx.Panel(self)
        topbar.SetBackgroundColour("#424242")

        topbar_sizer = wx.GridBagSizer(vgap=1, hgap=1)

        self.area_icon = wx.StaticBitmap(topbar, bitmap=ICON_NODEGRAPH_PANEL.GetBitmap())
        self.area_label = wx.StaticText(topbar, label="")
        self.area_label.SetForegroundColour("#fff")
        self.area_label.SetFont(self.area_label.GetFont().Bold())

        self.zoom_field = NumberField(topbar, default_value=100, label=_("Zoom"),
                                      min_value=25, max_value=250, suffix="%",
                                      show_p=False)
        self.menu_button = Button(topbar, label="", flat=True,
                                  bmp=(ICON_MORE_MENU_SMALL.GetBitmap(), 'left'))

        topbar_sizer.Add(self.area_icon, (0, 0), flag=wx.LEFT | wx.TOP | wx.BOTTOM, border=8)
        topbar_sizer.Add(self.area_label, (0, 1), flag=wx.ALL, border=8)
        topbar_sizer.Add(self.zoom_field, (0, 3), flag=wx.ALL, border=3)
        topbar_sizer.Add(self.menu_button, (0, 4), flag=wx.ALL, border=3)
        topbar_sizer.AddGrowableCol(2)

        topbar.SetSizer(topbar_sizer)

        self.nodegraph = NodeGraph(self, self.registry, size=(-1, self.Size[0]-20))

        # here for testing
        self.nodegraph.AddNode('image_node', wx.Point(100, 10))
        self.nodegraph.AddNode('image_node', wx.Point(400, 100))
        self.nodegraph.AddNode('blur_node', wx.Point(600, 200))
        self.nodegraph.AddNode('mix_node', wx.Point(100, 200))
        self.nodegraph.AddNode('output_node', wx.Point(300, 270))
        self.nodegraph.AddNode('flip_node', wx.Point(400, 270))

        main_sizer.Add(topbar, flag=wx.EXPAND | wx.LEFT | wx.RIGHT)
        main_sizer.Add(self.nodegraph, 1, flag=wx.EXPAND | wx.BOTH)

        self.SetSizer(main_sizer)

        self.nodegraph.Bind(EVT_GSNODEGRAPH_NODESELECT, self.UpdateNodePropertiesPnl)
        self.nodegraph.Bind(EVT_GSNODEGRAPH_NODECONNECT, self.NodeConnectEvent)
        self.nodegraph.Bind(EVT_GSNODEGRAPH_NODEDISCONNECT, self.NodeDisconnectEvent)
        self.nodegraph.Bind(EVT_GSNODEGRAPH_MOUSEZOOM, self.ZoomNodeGraph)
        self.zoom_field.Bind(EVT_NUMBERFIELD_CHANGE, self.ChangeZoom)
        self.menu_button.Bind(EVT_BUTTON, self.OnAreaMenuButton)
        self.Bind(wx.EVT_MENU, self.OnMenuUndockPanel, id=ID_MENU_UNDOCKPANEL)
        self.Bind(wx.EVT_MENU, self.OnMenuHidePanel, id=ID_MENU_HIDEPANEL)
        self.nodegraph.Bind(wx.EVT_ENTER_WINDOW, self.OnAreaFocus)
    def BuildUI(self):
        main_sizer = wx.BoxSizer(wx.VERTICAL)

        topbar = wx.Panel(self)
        topbar.SetBackgroundColour("#424242")

        topbar_sizer = wx.GridBagSizer(vgap=1, hgap=1)

        self.area_icon = wx.StaticBitmap(topbar,
                                         bitmap=ICON_NODEPROPERTIES_PANEL.GetBitmap())
        self.area_label = wx.StaticText(topbar, label="")
        self.area_label.SetForegroundColour("#fff")
        self.area_label.SetFont(self.area_label.GetFont().Bold())

        self.menu_button = Button(topbar, label="", flat=True,
                                  bmp=(ICON_MORE_MENU_SMALL.GetBitmap(), 'left'))

        topbar_sizer.Add(self.area_icon, (0, 0), flag=wx.LEFT | wx.TOP | wx.BOTTOM,
                         border=8)
        topbar_sizer.Add(self.area_label, (0, 1), flag=wx.ALL, border=8)
        topbar_sizer.Add(self.menu_button, (0, 4), flag=wx.ALL, border=3)
        topbar_sizer.AddGrowableCol(2)

        topbar.SetSizer(topbar_sizer)

        self.main_panel = wx.Panel(self)
        self._mainsizer = wx.BoxSizer(wx.VERTICAL)
        self.main_panel.SetSizer(self._mainsizer)
        self._mainsizer.Fit(self.main_panel)

        main_sizer.Add(topbar, flag=wx.EXPAND | wx.LEFT | wx.RIGHT)
        main_sizer.Add(self.main_panel, 1, flag=wx.EXPAND | wx.BOTH)

        self.SetSizer(main_sizer)

        self.menu_button.Bind(EVT_BUTTON, self.OnAreaMenuButton)
        self.Bind(wx.EVT_MENU, self.OnMenuUndockPanel, id=ID_MENU_UNDOCKPANEL)
        self.Bind(wx.EVT_MENU, self.OnMenuHidePanel, id=ID_MENU_HIDEPANEL)
        self.main_panel.Bind(wx.EVT_ENTER_WINDOW, self.OnAreaFocus)
Beispiel #5
0
    def __init__(self, *args, **kwds):
        kwds["style"] = wx.DEFAULT_FRAME_STYLE
        wx.Frame.__init__(self, *args, **kwds)
        self.SetSize((600, 800))
        self.SetBackgroundColour(wx.Colour("#464646"))

        sz = wx.BoxSizer(wx.VERTICAL)

        ctrl1 = NumberField(self,
                            default_value=10,
                            label="Resolution",
                            min_value=0,
                            max_value=25,
                            suffix="px")
        ctrl2 = NumberField(self,
                            default_value=98,
                            label="Opacity",
                            min_value=0,
                            max_value=100,
                            suffix="%")

        ctrl3 = NumberField(self,
                            default_value=0,
                            label="Radius",
                            min_value=0,
                            max_value=10,
                            suffix="",
                            show_p=False)

        ctrl4 = NumberField(self,
                            default_value=50,
                            label="X:",
                            min_value=0,
                            max_value=100,
                            suffix="",
                            show_p=False)
        ctrl5 = NumberField(self,
                            default_value=13,
                            label="Y:",
                            min_value=0,
                            max_value=100,
                            suffix="",
                            show_p=False)

        ctrl6 = TextCtrl(self,
                         value="",
                         style=wx.BORDER_SIMPLE,
                         placeholder="",
                         size=(-1, 24))
        ctrl7 = NativeTextCtrl(self, size=(-1, 26))

        ctrl8 = ColorPickerButton(self, label="Background Color:")
        ctrl9 = ColorPickerButton(self,
                                  label="Highlight Color:",
                                  default=(0, 54, 78, 215))
        ctrl10 = ColorPickerButton(self,
                                   label="Text Color:",
                                   default=(255, 255, 255, 255))

        ctrl11 = Button(self,
                        label="Contrast",
                        bmp=(TEST_ICON.GetBitmap(), 'left'))
        ctrl12 = Button(self, label="Render Image")
        ctrl13 = Button(self,
                        label="Contrast",
                        bmp=(TEST_ICON.GetBitmap(), 'top'))
        ctrl14 = Button(self,
                        label="Choose Layer",
                        bmp=(TEST_ICON.GetBitmap(), 'left'))

        sz2 = wx.BoxSizer(wx.HORIZONTAL)

        ctrl15 = Button(self, label="", bmp=(TEST_ICON.GetBitmap(), 'left'))
        ctrl16 = Button(self, label="", bmp=(TEST_ICON.GetBitmap(), 'left'))
        ctrl17 = Button(self, label="", bmp=(TEST_ICON.GetBitmap(), 'left'))
        ctrl18 = Button(self, label="", bmp=(TEST_ICON.GetBitmap(), 'left'))

        sz2.Add(ctrl15, flag=wx.EXPAND | wx.ALL, border=6)
        sz2.Add(ctrl16, flag=wx.EXPAND | wx.ALL, border=6)
        sz2.Add(ctrl17, flag=wx.EXPAND | wx.ALL, border=6)
        sz2.Add(ctrl18, flag=wx.EXPAND | wx.ALL, border=6)

        sz.Add(ctrl1, flag=wx.EXPAND | wx.ALL, border=6)
        sz.Add(ctrl2, flag=wx.EXPAND | wx.ALL, border=6)
        sz.Add(ctrl3, flag=wx.EXPAND | wx.ALL, border=6)
        sz.Add(ctrl4, flag=wx.EXPAND | wx.ALL, border=6)
        sz.Add(ctrl5, flag=wx.EXPAND | wx.ALL, border=6)
        sz.Add(ctrl6, flag=wx.EXPAND | wx.ALL, border=6)
        sz.Add(ctrl7, flag=wx.EXPAND | wx.ALL, border=6)
        sz.Add(ctrl8, flag=wx.EXPAND | wx.ALL, border=6)
        sz.Add(ctrl9, flag=wx.EXPAND | wx.ALL, border=6)
        sz.Add(ctrl10, flag=wx.EXPAND | wx.ALL, border=6)

        sz.Add(ctrl11, flag=wx.EXPAND | wx.ALL, border=6)
        sz.Add(ctrl12, flag=wx.EXPAND | wx.ALL, border=6)
        sz.Add(ctrl13, flag=wx.EXPAND | wx.ALL, border=6)
        sz.Add(ctrl14, flag=wx.EXPAND | wx.ALL, border=6)
        sz.Add(sz2, border=20)

        self.SetSizer(sz)

        # Events
        self.Bind(EVT_NUMBERFIELD_CHANGE, self.OnFieldChange, ctrl1)
        self.Bind(EVT_NUMBERFIELD, self.OnField, ctrl1)
        self.Bind(EVT_BUTTON, self.OnColorChosen, ctrl8)
        self.Bind(EVT_BUTTON, self.OnColorChosen, ctrl9)
        self.Bind(EVT_BUTTON, self.OnColorChosen, ctrl10)
        self.Bind(EVT_BUTTON, self.OnButtonClick, ctrl11)
        self.Bind(EVT_BUTTON, self.OnButtonClick, ctrl12)
        self.Bind(EVT_BUTTON, self.OnButtonClick, ctrl13)
        self.Bind(EVT_BUTTON, self.OnButtonClick, ctrl14)