Skip to content

Commit

Permalink
picviewer: more mosaic improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
rmackay9 committed Sep 9, 2024
1 parent 4b8252a commit 2d6dfdb
Showing 1 changed file with 18 additions and 13 deletions.
31 changes: 18 additions & 13 deletions MAVProxy/tools/mavpicviewer/mosaic_window2.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ def __init__(self, filelist, image_select_cb):
# create window
self.app = wx.App()

# update title
title_str = "PicViewer Mosaic (" + str(self.filenumber+1) + " of " + str(len(self.filelist)) + ")"
self.frame = wx.Frame(None, title=title_str, size=(565, 310))
# create frame
self.frame = wx.Frame(None, size=(565, 310))
self.frame.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))
self.update_title()

# add menu
self.menu = wx.Menu()
Expand All @@ -76,6 +76,7 @@ def __init__(self, filelist, image_select_cb):

# add a read-only status text box
self.text_status = wx.TextCtrl(self.frame, id=-1, size=(600, 60), style=wx.TE_READONLY | wx.TE_MULTILINE | wx.TE_RICH)
self.text_status.value = "POI lat: 0.0 lon: 0.0"

# add a scrolled panel
self.scrolled_panel = scrolled.ScrolledPanel(self.frame, -1, size=(600, 600), style=wx.TAB_TRAVERSAL)
Expand All @@ -85,25 +86,18 @@ def __init__(self, filelist, image_select_cb):
for i in range(len(self.filelist)):
img_path = self.filelist[i]
wx_image = wx.Image(img_path, wx.BITMAP_TYPE_ANY).Scale(100, 100)
#image = wx.StaticBitmap(self.scrolled_panel, wx.ID_ANY, wx.Bitmap(wx_image))
image = wx.StaticBitmap(self.scrolled_panel, i, wx.Bitmap(wx_image))
image.SetForegroundColour(wx.GREEN)
image.Bind(wx.EVT_LEFT_DOWN, self.on_image_click)
self.scrolled_panel_sizer.Add(image, proportion=0, flag=wx.EXPAND | wx.ALL, border=2, userData=i)
self.scrolled_panel_sizer.Add(image, proportion=0, flag=wx.ALL, border=2, userData=i)

self.scrolled_panel.SetSizer(self.scrolled_panel_sizer)
self.scrolled_panel.SetupScrolling(scroll_x=True, scroll_y=True)

# add a cancel button
self.cancel_button = wx.Button(self.frame, id=-1, label="cancel", size=(75, 25))
#self.frame.Bind(wx.EVT_BUTTON, self.cancel_button_click , self.cancel_button)

# add a vertical and horizontal sizers
self.vert_sizer = wx.BoxSizer(wx.VERTICAL)
self.horiz_sizer = wx.BoxSizer(wx.HORIZONTAL)

self.horiz_sizer.Add(self.cancel_button, proportion=0, flag=wx.ALIGN_TOP | wx.ALL, border=5)
wx.CallAfter(self.cancel_button.Disable)

# set size hints and add sizer to frame
self.vert_sizer.Add(self.text_status, proportion=0, flag=wx.EXPAND, border=5)
self.vert_sizer.Add(self.scrolled_panel, proportion=0, flag=wx.EXPAND | wx.ALL, border=5)
Expand Down Expand Up @@ -133,10 +127,21 @@ def set_title(self, title):
"""set image title"""
self.frame.SetTitle(title)

# update title
def update_title(self):
"""update title"""
title_str = f"PicViewer Mosaic ({self.filenumber+1} of {len(self.filelist)})"
self.set_title(title_str)

# process window events
def on_image_click(self, event):
"""process image click event"""
self.image_select_cb(event.GetId())
# update filenumber and title
self.filenumber = event.GetId()
self.update_title()

# callback to parent to select image
self.image_select_cb(self.filenumber)

# process window events
def check_events(self):
Expand Down

0 comments on commit 2d6dfdb

Please sign in to comment.