Add a custom IconButton class. Rework the source icon list. Again.

This commit is contained in:
dg
2023-04-04 19:42:24 +00:00
parent 6b62585ad5
commit 63544647b6
7 changed files with 566 additions and 107 deletions

View File

@@ -8,6 +8,7 @@ FLUXENGINE_GUI_SRCS = \
src/gui/fileviewerwindow.cc \
src/gui/fluxviewercontrol.cc \
src/gui/fluxviewerwindow.cc \
src/gui/iconbutton.cc \
src/gui/idlepanel.cc \
src/gui/imagerpanel.cc \
src/gui/jobqueue.cc \

54
src/gui/iconbutton.cc Normal file
View File

@@ -0,0 +1,54 @@
#include "lib/globals.h"
#include "gui.h"
#include "iconbutton.h"
#include <fmt/format.h>
IconButton::IconButton(wxWindow* parent,
wxWindowID id,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString& name):
wxPanel(parent, id, pos, size, style, name)
{
_sizer = new wxFlexGridSizer(1, 0, 0);
SetSizer(_sizer);
_bitmap = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap);
_sizer->Add(_bitmap, 0, wxALL | wxEXPAND, 0, nullptr);
_text = new wxStaticText(this,
wxID_ANY,
"",
wxDefaultPosition,
wxDefaultSize,
wxALIGN_CENTRE_HORIZONTAL);
_sizer->Add(_text, 0, wxALL | wxEXPAND, 0, nullptr);
_text->SetFont(_text->GetFont().MakeSmaller().MakeSmaller().MakeSmaller());
Bind(wxEVT_LEFT_DOWN, &IconButton::OnMouseClick, this);
_bitmap->Bind(wxEVT_LEFT_DOWN, &IconButton::OnMouseClick, this);
_text->Bind(wxEVT_LEFT_DOWN, &IconButton::OnMouseClick, this);
}
void IconButton::SetSelected(bool selected)
{
_selected = selected;
wxColor bg = wxSystemSettings::GetColour(
_selected ? wxSYS_COLOUR_HIGHLIGHT : wxSYS_COLOUR_WINDOW);
SetBackgroundColour(bg);
}
void IconButton::OnMouseClick(wxMouseEvent&)
{
auto* event = new wxCommandEvent(wxEVT_BUTTON, 0);
wxQueueEvent(this, event);
}
void IconButton::SetBitmapAndLabel(
const wxBitmap bitmap, const std::string text)
{
_bitmap->SetBitmap(bitmap);
_text->SetLabel(text);
}

26
src/gui/iconbutton.h Normal file
View File

@@ -0,0 +1,26 @@
#pragma once
class wxToggleButton;
class IconButton : public wxPanel
{
public:
IconButton(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxTAB_TRAVERSAL,
const wxString& name = wxPanelNameStr);
void SetBitmapAndLabel(const wxBitmap bitmap, const std::string text);
void SetSelected(bool selected);
private:
void OnMouseClick(wxMouseEvent& e);
private:
wxFlexGridSizer* _sizer;
wxStaticBitmap* _bitmap;
wxStaticText* _text;
bool _selected;
};

View File

@@ -11,6 +11,7 @@
#include "lib/imagewriter/imagewriter.h"
#include "layout.h"
#include "texteditorwindow.h"
#include "iconbutton.h"
#include <wx/config.h>
#include <wx/mstream.h>
#include <wx/image.h>
@@ -91,17 +92,12 @@ public:
parent->AddPage(this, "idle");
auto* sourceList = sourceListBook->GetListView();
sourceList->SetFont(
sourceList->GetFont().MakeSmaller().MakeSmaller().MakeSmaller());
_imageList.Add(
createBitmap(extras_hardware_png, sizeof(extras_hardware_png)));
_imageList.Add(
createBitmap(extras_fluxfile_png, sizeof(extras_fluxfile_png)));
_imageList.Add(
createBitmap(extras_imagefile_png, sizeof(extras_imagefile_png)));
sourceListBook->SetImageList(&_imageList);
UpdateSources();
}
@@ -361,7 +357,6 @@ private:
/* Triggers SaveConfig */
_dontSaveConfig = false;
wxCommandEvent dummyEvent;
}
void SaveConfig()
@@ -408,21 +403,25 @@ private:
void UpdateSources()
{
sourceListBook->DeleteAllPages();
sourceBook->DeleteAllPages();
sourceIconPanel->DestroyChildren();
int page = 0;
for (auto& device : _devices)
{
for (int drive = 0; drive <= 1; drive++)
{
auto* panel = new HardwareSourcePanelGen(sourceListBook);
sourceListBook->AddPage(panel,
fmt::format("{}\ndrive:{}", device->serial, drive),
false,
ICON_HARDWARE);
auto* panel = new HardwareSourcePanelGen(sourceBook);
sourceBook->AddPage(panel, "");
panel->Bind(PAGE_SELECTED_EVENT,
[=](wxCommandEvent& e)
auto* button = AddIcon(ICON_HARDWARE,
fmt::format(
"{}\ndrive:{}", device->serial.substr(0, 10), drive));
button->Bind(wxEVT_BUTTON,
[=](auto& e)
{
SwitchToPage(page);
_selectedSource = SELECTEDSOURCE_REAL;
_selectedDevice = device->serial;
_selectedDrive = drive;
@@ -447,16 +446,21 @@ private:
panel->fortyTrackDriveToggle->GetValue();
OnControlsChanged(e);
});
page++;
}
}
{
auto* panel = new FluxfileSourcePanelGen(sourceListBook);
sourceListBook->AddPage(panel, "Flux file", false, ICON_FLUXFILE);
auto* panel = new FluxfileSourcePanelGen(sourceBook);
sourceBook->AddPage(panel, "");
panel->Bind(PAGE_SELECTED_EVENT,
[=](wxCommandEvent& e)
auto* button = AddIcon(ICON_FLUXFILE, "Flux file");
button->Bind(wxEVT_BUTTON,
[=](auto& e)
{
SwitchToPage(page);
_selectedSource = SELECTEDSOURCE_FLUX;
OnControlsChanged(e);
});
@@ -468,15 +472,20 @@ private:
_selectedFluxfilename = e.GetPath();
OnControlsChanged(e);
});
page++;
}
{
auto* panel = new ImagefileSourcePanelGen(sourceListBook);
sourceListBook->AddPage(panel, "Disk image", false, ICON_IMAGEFILE);
auto* panel = new ImagefileSourcePanelGen(sourceBook);
sourceBook->AddPage(panel, "");
panel->Bind(PAGE_SELECTED_EVENT,
[=](wxCommandEvent& e)
auto* button = AddIcon(ICON_IMAGEFILE, "Disk image");
button->Bind(wxEVT_BUTTON,
[=](auto& e)
{
SwitchToPage(page);
_selectedSource = SELECTEDSOURCE_IMAGE;
OnControlsChanged(e);
});
@@ -488,19 +497,34 @@ private:
_selectedImagefilename = e.GetPath();
OnControlsChanged(e);
});
page++;
}
sourceListBook->Fit();
sourceListBook->Layout();
Fit();
Layout();
}
void OnSourceListPageChanged(wxBookCtrlEvent& e)
IconButton* AddIcon(int bitmapIndex, const std::string text)
{
auto* page = sourceListBook->GetPage(e.GetSelection());
auto* event = new wxCommandEvent(PAGE_SELECTED_EVENT, 0);
wxQueueEvent(page, event);
auto* button = new IconButton(sourceIconPanel, wxID_ANY);
button->SetBitmapAndLabel(_imageList.GetBitmap(bitmapIndex), text);
sourceIconPanel->GetSizer()->Add(button, 0, wxALL|wxEXPAND, 5, nullptr);
return button;
}
void SwitchToPage(int page) {
int i = 0;
for (auto* window : sourceIconPanel->GetChildren()) {
IconButton* button = dynamic_cast<IconButton*>(window);
if (button)
button->SetSelected(i == page);
i++;
}
sourceBook->ChangeSelection(page);
}
void UpdateFormatOptions()
{
assert(!wxGetApp().IsWorkerThreadRunning());
@@ -609,7 +633,7 @@ private:
formatOptionsContainer->SetSizerAndFit(sizer);
Layout();
SafeFit();
SafeFit();
}
}

View File

@@ -515,15 +515,29 @@ IdlePanelGen::IdlePanelGen( wxWindow* parent, wxWindowID id, const wxPoint& pos,
wxStaticBoxSizer* sbSizer1;
sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("Source / destination") ), wxVERTICAL );
sourceListBook = new wxListbook( sbSizer1->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLB_DEFAULT|wxLB_TOP|wxBORDER_THEME );
wxSize sourceListBookImageSize = wxSize( 48,48 );
int sourceListBookIndex = 0;
wxImageList* sourceListBookImages = new wxImageList( sourceListBookImageSize.GetWidth(), sourceListBookImageSize.GetHeight() );
sourceListBook->AssignImageList( sourceListBookImages );
wxBitmap sourceListBookBitmap;
wxImage sourceListBookImage;
wxFlexGridSizer* fgSizer12;
fgSizer12 = new wxFlexGridSizer( 0, 1, 0, 0 );
fgSizer12->AddGrowableCol( 0 );
fgSizer12->AddGrowableRow( 1 );
fgSizer12->SetFlexibleDirection( wxBOTH );
fgSizer12->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
sbSizer1->Add( sourceListBook, 1, wxALL|wxEXPAND, 5 );
sourceIconPanel = new wxPanel( sbSizer1->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
wxWrapSizer* wSizer3;
wSizer3 = new wxWrapSizer( wxHORIZONTAL, 0 );
sourceIconPanel->SetSizer( wSizer3 );
sourceIconPanel->Layout();
wSizer3->Fit( sourceIconPanel );
fgSizer12->Add( sourceIconPanel, 1, wxEXPAND | wxALL, 5 );
sourceBook = new wxSimplebook( sbSizer1->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
fgSizer12->Add( sourceBook, 1, wxEXPAND | wxALL, 5 );
sbSizer1->Add( fgSizer12, 1, wxEXPAND, 5 );
fgSizer8->Add( sbSizer1, 1, wxALL|wxEXPAND, 5 );
@@ -619,8 +633,6 @@ IdlePanelGen::IdlePanelGen( wxWindow* parent, wxWindowID id, const wxPoint& pos,
fgSizer8->Fit( this );
// Connect Events
sourceListBook->Connect( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED, wxListbookEventHandler( IdlePanelGen::OnSourceListPageChanged ), NULL, this );
sourceListBook->Connect( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING, wxListbookEventHandler( IdlePanelGen::OnSourceListPageChanging ), NULL, this );
formatChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( IdlePanelGen::OnControlsChanged ), NULL, this );
customConfigurationButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( IdlePanelGen::OnCustomConfigurationButton ), NULL, this );
readButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( IdlePanelGen::OnReadButton ), NULL, this );
@@ -633,8 +645,6 @@ IdlePanelGen::IdlePanelGen( wxWindow* parent, wxWindowID id, const wxPoint& pos,
IdlePanelGen::~IdlePanelGen()
{
// Disconnect Events
sourceListBook->Disconnect( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED, wxListbookEventHandler( IdlePanelGen::OnSourceListPageChanged ), NULL, this );
sourceListBook->Disconnect( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING, wxListbookEventHandler( IdlePanelGen::OnSourceListPageChanging ), NULL, this );
formatChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( IdlePanelGen::OnControlsChanged ), NULL, this );
customConfigurationButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( IdlePanelGen::OnCustomConfigurationButton ), NULL, this );
readButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( IdlePanelGen::OnReadButton ), NULL, this );
@@ -988,6 +998,14 @@ HardwareSourcePanelGen::HardwareSourcePanelGen( wxWindow* parent, wxWindowID id,
wxBoxSizer* bSizer3;
bSizer3 = new wxBoxSizer( wxVERTICAL );
m_staticText30 = new wxStaticText( this, wxID_ANY, wxT("Read from or write to real floppy disk:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText30->Wrap( -1 );
bSizer3->Add( m_staticText30, 0, wxALIGN_LEFT|wxALL|wxEXPAND, 5 );
label = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
label->Wrap( -1 );
bSizer3->Add( label, 0, wxALIGN_LEFT|wxALL|wxEXPAND, 5 );
highDensityToggle = new wxCheckBox( this, wxID_ANY, wxT("This is a high density disk"), wxDefaultPosition, wxDefaultSize, 0 );
highDensityToggle->SetToolTip( wxT("If you are using a high density disk, select this.\nThis can be detected automatically for 3.5\"\ndisks but needs to be set manually for everything\nelse.") );
@@ -1011,6 +1029,10 @@ FluxfileSourcePanelGen::FluxfileSourcePanelGen( wxWindow* parent, wxWindowID id,
wxBoxSizer* bSizer8;
bSizer8 = new wxBoxSizer( wxVERTICAL );
m_staticText28 = new wxStaticText( this, wxID_ANY, wxT("Read flux-level data from file:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText28->Wrap( -1 );
bSizer8->Add( m_staticText28, 0, wxALIGN_LEFT|wxALL|wxEXPAND, 5 );
fluxImagePicker = new wxFilePickerCtrl( this, wxID_ANY, wxEmptyString, wxT("Select a file"), wxT("*.*"), wxDefaultPosition, wxDefaultSize, wxFLP_FILE_MUST_EXIST|wxFLP_OPEN|wxFLP_USE_TEXTCTRL );
fluxImagePicker->SetToolTip( wxT("Path to a .flux, .scp or other flux file.") );
@@ -1031,6 +1053,10 @@ ImagefileSourcePanelGen::ImagefileSourcePanelGen( wxWindow* parent, wxWindowID i
wxBoxSizer* bSizer9;
bSizer9 = new wxBoxSizer( wxVERTICAL );
m_staticText29 = new wxStaticText( this, wxID_ANY, wxT("Read sector-level data from file:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText29->Wrap( -1 );
bSizer9->Add( m_staticText29, 0, wxALIGN_LEFT|wxALL|wxEXPAND, 5 );
diskImagePicker = new wxFilePickerCtrl( this, wxID_ANY, wxEmptyString, wxT("Select a file"), wxT("*.*"), wxDefaultPosition, wxDefaultSize, wxFLP_FILE_MUST_EXIST|wxFLP_OPEN|wxFLP_USE_TEXTCTRL );
diskImagePicker->SetToolTip( wxT("The path to the disk image.") );

View File

@@ -2857,64 +2857,143 @@
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxListbook" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="bitmapsize">48,48</property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="drag_accept_files">0</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<object class="wxFlexGridSizer" expanded="1">
<property name="cols">1</property>
<property name="flexible_direction">wxBOTH</property>
<property name="growablecols">0</property>
<property name="growablerows">1</property>
<property name="hgap">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">sourceListBook</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style">wxLB_DEFAULT|wxLB_TOP</property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style">wxBORDER_THEME</property>
<event name="OnListbookPageChanged">OnSourceListPageChanged</event>
<event name="OnListbookPageChanging">OnSourceListPageChanging</event>
<property name="name">fgSizer12</property>
<property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property>
<property name="permission">none</property>
<property name="rows">0</property>
<property name="vgap">0</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND | wxALL</property>
<property name="proportion">1</property>
<object class="wxPanel" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="drag_accept_files">0</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">sourceIconPanel</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style">wxTAB_TRAVERSAL</property>
<object class="wxWrapSizer" expanded="1">
<property name="flags"></property>
<property name="minimum_size"></property>
<property name="name">wSizer3</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND | wxALL</property>
<property name="proportion">1</property>
<object class="wxSimplebook" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="drag_accept_files">0</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">sourceBook</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
</object>
</object>
</object>
</object>
</object>
@@ -3672,11 +3751,11 @@
</object>
</object>
</object>
<object class="sizeritem" expanded="0">
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxGridSizer" expanded="0">
<object class="wxGridSizer" expanded="1">
<property name="cols">2</property>
<property name="hgap">0</property>
<property name="minimum_size"></property>
@@ -3684,11 +3763,11 @@
<property name="permission">none</property>
<property name="rows">0</property>
<property name="vgap">0</property>
<object class="sizeritem" expanded="0">
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxGridSizer" expanded="0">
<object class="wxGridSizer" expanded="1">
<property name="cols">1</property>
<property name="hgap">0</property>
<property name="minimum_size"></property>
@@ -5824,6 +5903,130 @@
<property name="name">bSizer3</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALIGN_LEFT|wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="drag_accept_files">0</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Read from or write to real floppy disk:</property>
<property name="markup">0</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_staticText30</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<property name="wrap">-1</property>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALIGN_LEFT|wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="drag_accept_files">0</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label"></property>
<property name="markup">0</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">label</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<property name="wrap">-1</property>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
@@ -5985,6 +6188,68 @@
<property name="name">bSizer8</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALIGN_LEFT|wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="drag_accept_files">0</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Read flux-level data from file:</property>
<property name="markup">0</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_staticText28</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<property name="wrap">-1</property>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
@@ -6082,6 +6347,68 @@
<property name="name">bSizer9</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALIGN_LEFT|wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="drag_accept_files">0</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Read sector-level data from file:</property>
<property name="markup">0</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_staticText29</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<property name="wrap">-1</property>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>

View File

@@ -33,9 +33,7 @@
#include <wx/gbsizer.h>
#include <wx/checkbox.h>
#include <wx/statbmp.h>
#include <wx/listbook.h>
#include <wx/listctrl.h>
#include <wx/imaglist.h>
#include <wx/wrapsizer.h>
#include <wx/statbox.h>
#include <wx/choice.h>
#include <wx/aui/aui.h>
@@ -312,7 +310,8 @@ class IdlePanelGen : public wxPanel
protected:
wxStaticBitmap* applicationBitmap;
wxListbook* sourceListBook;
wxPanel* sourceIconPanel;
wxSimplebook* sourceBook;
wxChoice* formatChoice;
wxButton* customConfigurationButton;
wxPanel* formatOptionsContainer;
@@ -323,8 +322,6 @@ class IdlePanelGen : public wxPanel
wxButton* exploreButton;
// Virtual event handlers, override them in your derived class
virtual void OnSourceListPageChanged( wxListbookEvent& event ) { event.Skip(); }
virtual void OnSourceListPageChanging( wxListbookEvent& event ) { event.Skip(); }
virtual void OnControlsChanged( wxCommandEvent& event ) { event.Skip(); }
virtual void OnCustomConfigurationButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnReadButton( wxCommandEvent& event ) { event.Skip(); }
@@ -494,6 +491,8 @@ class HardwareSourcePanelGen : public wxPanel
private:
protected:
wxStaticText* m_staticText30;
wxStaticText* label;
public:
wxCheckBox* highDensityToggle;
@@ -513,6 +512,7 @@ class FluxfileSourcePanelGen : public wxPanel
private:
protected:
wxStaticText* m_staticText28;
public:
wxFilePickerCtrl* fluxImagePicker;
@@ -531,6 +531,7 @@ class ImagefileSourcePanelGen : public wxPanel
private:
protected:
wxStaticText* m_staticText29;
public:
wxFilePickerCtrl* diskImagePicker;