示例#1
0
 def __init__(self, parent, workspace):
     self.frame = CPFigureFrame(
         parent,
         title = "CellProfiler Workspace")
     self.workspace = workspace
     self.ignore_redraw = False
     self.image_rows = []
     self.object_rows = []
     self.measurement_rows = []
     self.frame.set_subplots((1, 1))
     self.axes = self.frame.subplot(0, 0)
     self.image = None
     
     panel = ScrolledPanel(self.frame.secret_panel)
     self.frame.secret_panel.Sizer = wx.BoxSizer()
     self.frame.secret_panel.Sizer.Add(panel, 0, wx.EXPAND)
     panel.Sizer = wx.BoxSizer(wx.VERTICAL)
     self.panel = panel
     #
     # Make a grid of image controls
     #
     panel.Sizer.AddSpacer(4)
     self.image_grid = wx.GridBagSizer(vgap = 3, hgap = 3)
     sub_sizer = wx.BoxSizer(wx.VERTICAL)
     panel.Sizer.Add(
         sub_sizer, 0, wx.ALIGN_LEFT | wx.LEFT | wx.RIGHT, 3)
     sub_sizer.Add(self.image_grid, 0, wx.ALIGN_LEFT)
     self.image_grid.Add(
         wx.StaticText(panel, label="Images"), (0, self.C_CHOOSER), 
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.image_grid.Add(
         wx.StaticText(panel, label="Color"), (0, self.C_COLOR),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.image_grid.Add(
         wx.StaticText(panel, label="Show"), (0, self.C_SHOW),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.image_grid.Add(
         wx.StaticText(panel, label="Remove"), (0, self.C_REMOVE),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.add_image_row(can_delete = False)
     add_image_button = wx.Button(panel,
                                  label = "Add image")
     sub_sizer.Add(add_image_button, 0, wx.ALIGN_RIGHT)
     add_image_button.Bind(
         wx.EVT_BUTTON,
         lambda event:self.add_image_row())
     panel.Sizer.AddSpacer(4)
     panel.Sizer.Add(wx.StaticLine(panel, style = wx.LI_HORIZONTAL), 
                     0, wx.EXPAND)
     panel.Sizer.AddSpacer(4)
     #
     # Make a grid of object controls
     #
     self.object_grid = wx.GridBagSizer(vgap = 3, hgap = 3)
     sub_sizer = wx.BoxSizer(wx.VERTICAL)
     panel.Sizer.Add(sub_sizer, 0, wx.ALIGN_LEFT | wx.LEFT | wx.RIGHT, 3)
     sub_sizer.Add(self.object_grid, 0, wx.ALIGN_LEFT)
     self.object_grid.Add(
         wx.StaticText(panel, label="Objects"), (0, self.C_CHOOSER),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.object_grid.Add(
         wx.StaticText(panel, label="Color"), (0, self.C_COLOR),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.object_grid.Add(
         wx.StaticText(panel, label="Show"), (0, self.C_SHOW),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.object_grid.Add(
         wx.StaticText(panel, label="Remove"), (0, self.C_REMOVE),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.add_objects_row(can_delete = False)
     add_object_button = wx.Button(panel,
                                   label = "Add objects")
     sub_sizer.Add(add_object_button, 0, wx.ALIGN_RIGHT)
     add_object_button.Bind(
         wx.EVT_BUTTON,
         lambda event:self.add_objects_row())
     panel.Sizer.AddSpacer(4)
     panel.Sizer.Add(wx.StaticLine(panel, style = wx.LI_HORIZONTAL),
                     0, wx.EXPAND)
     panel.Sizer.AddSpacer(4)
     #
     # Make a grid of measurements to display
     #
     self.m_grid = wx.GridBagSizer(vgap = 3, hgap = 3)
     sub_sizer = wx.BoxSizer(wx.VERTICAL)
     panel.Sizer.Add(sub_sizer, 0, wx.ALIGN_LEFT | wx.LEFT | wx.RIGHT, 3)
     sub_sizer.Add(self.m_grid, 0, wx.ALIGN_LEFT)
     self.m_grid.Add(
         wx.StaticText(panel, label="Measurement"), (0, self.C_CHOOSER),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.m_grid.Add(
         wx.StaticText(panel, label="Font"), (0, self.C_COLOR),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.m_grid.Add(
         wx.StaticText(panel, label="Show"), (0, self.C_SHOW),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.m_grid.Add(
         wx.StaticText(panel, label="Remove"), (0, self.C_REMOVE),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.add_measurement_row(can_delete = False)
     add_measurement_button = wx.Button(panel,
                                   label = "Add Measurement")
     sub_sizer.Add(add_measurement_button, 0, wx.ALIGN_RIGHT)
     add_measurement_button.Bind(
         wx.EVT_BUTTON,
         self.on_add_measurement_row)
     
     self.frame.Bind(wx.EVT_CLOSE, self.on_frame_close)
     self.set_workspace(workspace)
     self.frame.secret_panel.Show()
     self.layout()
     for child in panel.GetChildren():
         child.Refresh()
     panel.Refresh()
示例#2
0
 def __init__(self, parent, workspace):
     self.frame = CPFigureFrame(
         parent,
         title = "CellProfiler Workspace")
     self.workspace = workspace
     self.ignore_redraw = False
     self.image_rows = []
     self.object_rows = []
     self.measurement_rows = []
     self.frame.set_subplots((1, 1))
     self.axes = self.frame.subplot(0, 0)
     self.image = None
     
     panel = ScrolledPanel(self.frame.secret_panel)
     self.frame.secret_panel.Sizer = wx.BoxSizer()
     self.frame.secret_panel.Sizer.Add(panel, 0, wx.EXPAND)
     panel.Sizer = wx.BoxSizer(wx.VERTICAL)
     self.panel = panel
     #
     # Make a grid of image controls
     #
     panel.Sizer.AddSpacer(4)
     self.image_grid = wx.GridBagSizer(vgap = 3, hgap = 3)
     sub_sizer = wx.BoxSizer(wx.VERTICAL)
     panel.Sizer.Add(
         sub_sizer, 0, wx.ALIGN_LEFT | wx.LEFT | wx.RIGHT, 3)
     sub_sizer.Add(self.image_grid, 0, wx.ALIGN_LEFT)
     self.image_grid.Add(
         wx.StaticText(panel, label="Images"), (0, self.C_CHOOSER), 
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.image_grid.Add(
         wx.StaticText(panel, label="Color"), (0, self.C_COLOR),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.image_grid.Add(
         wx.StaticText(panel, label="Show"), (0, self.C_SHOW),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.image_grid.Add(
         wx.StaticText(panel, label="Remove"), (0, self.C_REMOVE),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.add_image_row(can_delete = False)
     add_image_button = wx.Button(panel,
                                  label = "Add image")
     sub_sizer.Add(add_image_button, 0, wx.ALIGN_RIGHT)
     add_image_button.Bind(
         wx.EVT_BUTTON,
         lambda event:self.add_image_row())
     panel.Sizer.AddSpacer(4)
     panel.Sizer.Add(wx.StaticLine(panel, style = wx.LI_HORIZONTAL), 
                     0, wx.EXPAND)
     panel.Sizer.AddSpacer(4)
     #
     # Make a grid of object controls
     #
     self.object_grid = wx.GridBagSizer(vgap = 3, hgap = 3)
     sub_sizer = wx.BoxSizer(wx.VERTICAL)
     panel.Sizer.Add(sub_sizer, 0, wx.ALIGN_LEFT | wx.LEFT | wx.RIGHT, 3)
     sub_sizer.Add(self.object_grid, 0, wx.ALIGN_LEFT)
     self.object_grid.Add(
         wx.StaticText(panel, label="Objects"), (0, self.C_CHOOSER),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.object_grid.Add(
         wx.StaticText(panel, label="Color"), (0, self.C_COLOR),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.object_grid.Add(
         wx.StaticText(panel, label="Show"), (0, self.C_SHOW),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.object_grid.Add(
         wx.StaticText(panel, label="Remove"), (0, self.C_REMOVE),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.add_objects_row(can_delete = False)
     add_object_button = wx.Button(panel,
                                   label = "Add objects")
     sub_sizer.Add(add_object_button, 0, wx.ALIGN_RIGHT)
     add_object_button.Bind(
         wx.EVT_BUTTON,
         lambda event:self.add_objects_row())
     panel.Sizer.AddSpacer(4)
     panel.Sizer.Add(wx.StaticLine(panel, style = wx.LI_HORIZONTAL),
                     0, wx.EXPAND)
     panel.Sizer.AddSpacer(4)
     #
     # Make a grid of measurements to display
     #
     self.m_grid = wx.GridBagSizer(vgap = 3, hgap = 3)
     sub_sizer = wx.BoxSizer(wx.VERTICAL)
     panel.Sizer.Add(sub_sizer, 0, wx.ALIGN_LEFT | wx.LEFT | wx.RIGHT, 3)
     sub_sizer.Add(self.m_grid, 0, wx.ALIGN_LEFT)
     self.m_grid.Add(
         wx.StaticText(panel, label="Measurement"), (0, self.C_CHOOSER),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.m_grid.Add(
         wx.StaticText(panel, label="Font"), (0, self.C_COLOR),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.m_grid.Add(
         wx.StaticText(panel, label="Show"), (0, self.C_SHOW),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.m_grid.Add(
         wx.StaticText(panel, label="Remove"), (0, self.C_REMOVE),
         flag = wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_BOTTOM)
     self.add_measurement_row(can_delete = False)
     add_measurement_button = wx.Button(panel,
                                   label = "Add Measurement")
     sub_sizer.Add(add_measurement_button, 0, wx.ALIGN_RIGHT)
     add_measurement_button.Bind(
         wx.EVT_BUTTON,
         self.on_add_measurement_row)
     
     self.frame.Bind(wx.EVT_CLOSE, self.on_frame_close)
     self.set_workspace(workspace)
     self.frame.secret_panel.Show()
     self.layout()
     for child in panel.GetChildren():
         child.Refresh()
     panel.Refresh()