Compare commits

...

9 Commits
zilogmcz ... wx

Author SHA1 Message Date
David Given
1f5903a9a0 Don't use std::filesystem; it makes life harder on Windows with its wide
strings.
2023-07-25 23:35:01 +02:00
David Given
bb073b6bb3 Apparently Mingw can't automatically convert from path to string. 2023-07-25 23:23:04 +02:00
David Given
516241f8f5 Replace the image read file picker with a simple one. 2023-07-25 23:11:52 +02:00
David Given
c61effb54f Add a file type box to the flux source selection page. 2023-07-25 22:27:09 +02:00
David Given
346d989944 When reading Kryoflux streams, allow the user to specify any file within the
directory and have it work (as that's what the GUI does now).
2023-07-25 22:51:34 +02:00
dg
e52db4a837 Typo fix. 2023-07-24 20:56:37 +00:00
dg
4e317643bc Try and install compatible versions of protobuf. 2023-07-24 20:53:51 +00:00
David Given
5f520bf375 Merge pull request #698 from davidgiven/zilogmcz
Add support for the ZDOS filesystem for the Zilog MCZ.
2023-07-24 22:16:33 +02:00
David Given
9444696f37 Merge pull request #697 from davidgiven/ro
Allow read-only flux and image in the GUI.
2023-07-24 08:20:39 +02:00
12 changed files with 708 additions and 1508 deletions

View File

@@ -69,6 +69,9 @@ jobs:
mingw-w64-i686-nsis
zip
vim
- name: update-protobuf
run: |
pacman -U --noconfirm https://repo.msys2.org/mingw/mingw32/mingw-w64-i686-protobuf-21.9-1-any.pkg.tar.zst
- uses: actions/checkout@v2
with:
repository: 'davidgiven/fluxengine'

View File

@@ -36,6 +36,10 @@ jobs:
vim
- uses: actions/checkout@v3
- name: update-protobuf
run: |
pacman -U --noconfirm https://repo.msys2.org/mingw/mingw32/mingw-w64-i686-protobuf-21.9-1-any.pkg.tar.zst
- name: build
run: |
make -j2

View File

@@ -11,17 +11,9 @@
#include "lib/decoders/decoders.h"
#include <fstream>
#include <google/protobuf/text_format.h>
#include <regex>
static Config config;
struct FluxConstructor
{
std::regex pattern;
std::function<void(const std::string& filename, FluxSourceProto*)> source;
std::function<void(const std::string& filename, FluxSinkProto*)> sink;
};
enum ConstructorMode
{
MODE_RO,
@@ -37,7 +29,9 @@ struct ImageConstructor
};
static const std::vector<FluxConstructor> fluxConstructors = {
{.pattern = std::regex("^(.*\\.flux)$"),
{/* The .flux format must be first. */
.name = "FluxEngine (.flux)",
.pattern = std::regex("^(.*\\.flux)$"),
.source =
[](auto& s, auto* proto)
{
@@ -50,6 +44,7 @@ static const std::vector<FluxConstructor> fluxConstructors = {
proto->mutable_fl2()->set_filename(s);
}},
{
.name = "Supercard Pro (.scp)",
.pattern = std::regex("^(.*\\.scp)$"),
.source =
[](auto& s, auto* proto)
@@ -62,7 +57,8 @@ static const std::vector<FluxConstructor> fluxConstructors = {
proto->set_type(FLUXTYPE_SCP);
proto->mutable_scp()->set_filename(s);
}, },
{.pattern = std::regex("^(.*\\.a2r)$"),
{.name = "AppleSauce (.a2r)",
.pattern = std::regex("^(.*\\.a2r)$"),
.source =
[](auto& s, auto* proto)
{
@@ -74,7 +70,8 @@ static const std::vector<FluxConstructor> fluxConstructors = {
proto->set_type(FLUXTYPE_A2R);
proto->mutable_a2r()->set_filename(s);
}},
{.pattern = std::regex("^(.*\\.cwf)$"),
{.name = "CatWeazle (.cwf)",
.pattern = std::regex("^(.*\\.cwf)$"),
.source =
[](auto& s, auto* proto)
{
@@ -87,7 +84,8 @@ static const std::vector<FluxConstructor> fluxConstructors = {
{
proto->set_type(FLUXTYPE_ERASE);
}},
{.pattern = std::regex("^kryoflux:(.*)$"),
{.name = "KryoFlux directory",
.pattern = std::regex("^kryoflux:(.*)$"),
.source =
[](auto& s, auto* proto)
{
@@ -114,21 +112,24 @@ static const std::vector<FluxConstructor> fluxConstructors = {
globalConfig().overrides()->mutable_drive()->set_drive(
std::stoi(s));
}},
{.pattern = std::regex("^flx:(.*)$"),
{.name = "FluxCopy directory",
.pattern = std::regex("^flx:(.*)$"),
.source =
[](auto& s, auto* proto)
{
proto->set_type(FLUXTYPE_FLX);
proto->mutable_flx()->set_directory(s);
}},
{.pattern = std::regex("^vcd:(.*)$"),
{.name = "Value Change Dump directory",
.pattern = std::regex("^vcd:(.*)$"),
.sink =
[](auto& s, auto* proto)
{
proto->set_type(FLUXTYPE_VCD);
proto->mutable_vcd()->set_directory(s);
}},
{.pattern = std::regex("^au:(.*)$"),
{.name = "Audio file directory",
.pattern = std::regex("^au:(.*)$"),
.sink =
[](auto& s, auto* proto)
{
@@ -681,3 +682,8 @@ std::shared_ptr<Decoder>& Config::getDecoder()
}
return _decoder;
}
const std::vector<FluxConstructor>& Config::getFluxFormats()
{
return fluxConstructors;
}

View File

@@ -55,6 +55,14 @@ public:
{}
};
struct FluxConstructor
{
std::string name;
std::regex pattern;
std::function<void(const std::string& filename, FluxSourceProto*)> source;
std::function<void(const std::string& filename, FluxSinkProto*)> sink;
};
class Config
{
public:
@@ -155,6 +163,10 @@ public:
bool hasImageWriter();
std::unique_ptr<ImageWriter> getImageWriter();
public:
static const std::vector<FluxConstructor>& getFluxFormats();
static std::vector<std::string> getImageFormats();
private:
ConfigProto _baseConfig;
ConfigProto _overridesConfig;

View File

@@ -23,10 +23,18 @@ static bool has_suffix(const std::string& haystack, const std::string& needle)
}
std::unique_ptr<Fluxmap> readStream(
const std::string& dir, unsigned track, unsigned side)
std::string dir, unsigned track, unsigned side)
{
std::string suffix = fmt::format("{:02}.{}.raw", track, side);
FILE* fp = fopen(dir.c_str(), "r");
if (fp)
{
fclose(fp);
int i = dir.find_last_of("/\\");
dir = dir.substr(0, i);
}
DIR* dirp = opendir(dir.c_str());
if (!dirp)
error("cannot access path '{}'", dir);

View File

@@ -2,7 +2,7 @@
#define STREAM_H
extern std::unique_ptr<Fluxmap> readStream(
const std::string& dir, unsigned track, unsigned side);
std::string dir, unsigned track, unsigned side);
extern std::unique_ptr<Fluxmap> readStream(const std::string& path);
extern std::unique_ptr<Fluxmap> readStream(const Bytes& bytes);

View File

@@ -15,6 +15,7 @@
#include <climits>
#include <variant>
#include <optional>
#include <regex>
#include <fmt/format.h>
#if defined(_WIN32) || defined(__WIN32__)

View File

File diff suppressed because it is too large Load Diff

View File

@@ -29,6 +29,7 @@
#define CONFIG_FORMATOPTIONS "FormatOptions"
#define CONFIG_EXTRACONFIG "ExtraConfig"
#define CONFIG_FLUXIMAGE "FluxImage"
#define CONFIG_FLUXFORMAT "FluxImageFormat"
#define CONFIG_DISKIMAGE "DiskImage"
const std::string DEFAULT_EXTRA_CONFIGURATION =
@@ -236,16 +237,15 @@ public:
case SELECTEDSOURCE_FLUX:
{
ignoreInapplicableValueExceptions(
[&]()
{
globalConfig().setFluxSink(_selectedFluxfilename);
});
ignoreInapplicableValueExceptions(
[&]()
{
globalConfig().setFluxSource(_selectedFluxfilename);
});
if (_selectedFluxFormat)
{
if (_selectedFluxFormat->sink)
_selectedFluxFormat->sink(_selectedFluxFilename,
globalConfig().overrides()->mutable_flux_sink());
if (_selectedFluxFormat->source)
_selectedFluxFormat->source(_selectedFluxFilename,
globalConfig().overrides()->mutable_flux_source());
}
break;
}
@@ -338,7 +338,11 @@ private:
s = "";
_config.Read(CONFIG_FLUXIMAGE, &s);
_selectedFluxfilename = s;
_selectedFluxFilename = s;
s = "";
_config.Read(CONFIG_FLUXFORMAT, &s);
_selectedFluxFormatName = s;
/* Disk image block. */
@@ -412,7 +416,8 @@ private:
/* Flux image block. */
_config.Write(CONFIG_FLUXIMAGE, wxString(_selectedFluxfilename));
_config.Write(CONFIG_FLUXIMAGE, wxString(_selectedFluxFilename));
_config.Write(CONFIG_FLUXFORMAT, wxString(_selectedFluxFormatName));
/* Disk image block. */
@@ -524,14 +529,65 @@ private:
OnControlsChanged(e);
});
panel->fluxImagePicker->SetPath(_selectedFluxfilename);
panel->fluxImagePicker->SetPath(_selectedFluxFilename);
panel->fluxImageFormat->Clear();
_selectedFluxFormat = &Config::getFluxFormats()[0];
int choiceIndex = 0;
for (int i = 0; i < Config::getFluxFormats().size(); i++)
{
const auto& format = Config::getFluxFormats()[i];
if (!format.name.empty() && format.source)
{
int index = panel->fluxImageFormat->Append(
format.name, (void*)&format);
if (format.name == _selectedFluxFormatName)
{
_selectedFluxFormat = &format;
choiceIndex = index;
}
}
}
panel->fluxImageFormat->SetSelection(choiceIndex);
auto onFormatChanged = [=](wxCommandEvent& e)
{
int i = panel->fluxImageFormat->GetSelection();
_selectedFluxFormat =
(const FluxConstructor*)
panel->fluxImageFormat->GetClientData(i);
_selectedFluxFormatName = _selectedFluxFormat->name;
OnControlsChanged(e);
};
panel->fluxImagePicker->Bind(wxEVT_COMMAND_FILEPICKER_CHANGED,
[=](wxFileDirPickerEvent& e)
{
_selectedFluxfilename = e.GetPath();
_selectedFluxFilename = e.GetPath();
for (int i = 0; i < Config::getFluxFormats().size(); i++)
{
const auto& format = Config::getFluxFormats()[i];
if (std::regex_match(
_selectedFluxFilename, format.pattern))
{
int i =
panel->fluxImageFormat->FindString(format.name);
if (i != wxNOT_FOUND)
{
panel->fluxImageFormat->SetSelection(i);
wxCommandEvent e;
onFormatChanged(e);
}
}
}
OnControlsChanged(e);
});
panel->fluxImageFormat->Bind(wxEVT_CHOICE, onFormatChanged);
if (_selectedSource == SELECTEDSOURCE_FLUX)
{
SwitchToPage(page);
@@ -578,6 +634,8 @@ private:
SwitchToPage(0);
}
void OnFluxFormatChanged(wxCommandEvent&) {}
IconButton* AddIcon(int bitmapIndex, const std::string text)
{
auto* button = new IconButton(sourceIconPanel, wxID_ANY);
@@ -609,6 +667,7 @@ private:
try
{
PrepareConfig();
globalConfig().combined();
}
catch (const InapplicableOptionException& e)
{
@@ -739,7 +798,9 @@ private:
int _selectedDrive;
const ConfigProto* _selectedDriveType;
bool _selectedHighDensity;
std::string _selectedFluxfilename;
std::string _selectedFluxFilename;
std::string _selectedFluxFormatName;
const FluxConstructor* _selectedFluxFormat = nullptr;
std::string _selectedImagefilename;
bool _dontSaveConfig = false;
std::string _extraConfiguration;

View File

@@ -696,7 +696,7 @@ ImagerPanelGen::ImagerPanelGen( wxWindow* parent, wxWindowID id, const wxPoint&
bSizer8->Add( imagerSaveFluxButton, 0, wxALL|wxEXPAND, 5 );
histogram = new HistogramViewer( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
bSizer8->Add( histogram, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
bSizer8->Add( histogram, 0, wxALL|wxEXPAND, 5 );
imagerGoAgainButton = new wxButton( this, wxID_ANY, wxT("Go again"), wxDefaultPosition, wxDefaultSize, 0 );
@@ -1081,11 +1081,20 @@ FluxfileSourcePanelGen::FluxfileSourcePanelGen( wxWindow* parent, wxWindowID id,
m_staticText27->Wrap( -1 );
bSizer8->Add( m_staticText27, 0, wxALL, 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 = new wxFilePickerCtrl( this, wxID_ANY, wxEmptyString, wxT("Select a file"), wxT("*.*"), wxDefaultPosition, wxDefaultSize, wxFLP_FILE_MUST_EXIST|wxFLP_OPEN );
fluxImagePicker->SetToolTip( wxT("Path to a .flux, .scp or other flux file.") );
bSizer8->Add( fluxImagePicker, 0, wxALL|wxEXPAND, 5 );
m_staticText281 = new wxStaticText( this, wxID_ANY, wxT("Format:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText281->Wrap( -1 );
bSizer8->Add( m_staticText281, 0, wxALL, 5 );
wxArrayString fluxImageFormatChoices;
fluxImageFormat = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, fluxImageFormatChoices, 0 );
fluxImageFormat->SetSelection( 0 );
bSizer8->Add( fluxImageFormat, 0, wxALL|wxEXPAND, 5 );
this->SetSizer( bSizer8 );
this->Layout();
@@ -1109,7 +1118,7 @@ ImagefileSourcePanelGen::ImagefileSourcePanelGen( wxWindow* parent, wxWindowID i
m_staticText28->Wrap( -1 );
bSizer9->Add( m_staticText28, 0, wxALL, 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 = new wxFilePickerCtrl( this, wxID_ANY, wxEmptyString, wxT("Select a file"), wxT("*.*"), wxDefaultPosition, wxDefaultSize, wxFLP_FILE_MUST_EXIST|wxFLP_OPEN );
diskImagePicker->SetToolTip( wxT("The path to the disk image.") );
bSizer9->Add( diskImagePicker, 0, wxALL|wxEXPAND, 5 );

View File

@@ -4013,7 +4013,7 @@
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="CustomControl" expanded="1">
<property name="BottomDockable">1</property>
@@ -6615,7 +6615,7 @@
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style">wxFLP_FILE_MUST_EXIST|wxFLP_OPEN|wxFLP_USE_TEXTCTRL</property>
<property name="style">wxFLP_FILE_MUST_EXIST|wxFLP_OPEN</property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip">Path to a .flux, .scp or other flux file.</property>
@@ -6630,6 +6630,133 @@
<property name="window_style"></property>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL</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">Format:</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_staticText281</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>
<property name="proportion">0</property>
<object class="wxChoice" 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="choices"></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">fluxImageFormat</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">public</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="selection">0</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="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
</object>
</object>
</object>
</object>
<object class="Panel" expanded="1">
@@ -6836,7 +6963,7 @@
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style">wxFLP_FILE_MUST_EXIST|wxFLP_OPEN|wxFLP_USE_TEXTCTRL</property>
<property name="style">wxFLP_FILE_MUST_EXIST|wxFLP_OPEN</property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip">The path to the disk image.</property>

View File

@@ -51,45 +51,28 @@
///////////////////////////////////////////////////////////////////////////////
class MainWindowGen : public wxFrame
{
private:
protected:
wxMenuBar* menuBar;
wxMenu* m_menu1;
wxMenu* m_menu2;
wxSimplebook* dataNotebook;
private:
// Virtual event handlers, override them in your derived class
virtual void OnClose(wxCloseEvent& event)
{
event.Skip();
}
virtual void OnAboutMenuItem(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnExit(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnShowLogWindow(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnShowConfigWindow(wxCommandEvent& event)
{
event.Skip();
}
protected:
wxMenuBar* menuBar;
wxMenu* m_menu1;
wxMenu* m_menu2;
wxSimplebook* dataNotebook;
public:
MainWindowGen(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxString& title = wxT("FluxEngine"),
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxSize(616, 607),
long style = wxDEFAULT_FRAME_STYLE | wxRESIZE_BORDER |
wxFULL_REPAINT_ON_RESIZE | wxTAB_TRAVERSAL);
// Virtual event handlers, override them in your derived class
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
virtual void OnAboutMenuItem( wxCommandEvent& event ) { event.Skip(); }
virtual void OnExit( wxCommandEvent& event ) { event.Skip(); }
virtual void OnShowLogWindow( wxCommandEvent& event ) { event.Skip(); }
virtual void OnShowConfigWindow( wxCommandEvent& event ) { event.Skip(); }
public:
MainWindowGen( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("FluxEngine"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 616,607 ), long style = wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxFULL_REPAINT_ON_RESIZE|wxTAB_TRAVERSAL );
~MainWindowGen();
~MainWindowGen();
};
///////////////////////////////////////////////////////////////////////////////
@@ -97,32 +80,24 @@ public:
///////////////////////////////////////////////////////////////////////////////
class TextViewerWindowGen : public wxDialog
{
private:
protected:
wxTextCtrl* textControl;
wxStdDialogButtonSizer* m_sdbSizer2;
wxButton* m_sdbSizer2OK;
private:
// Virtual event handlers, override them in your derived class
virtual void OnClose(wxCloseEvent& event)
{
event.Skip();
}
virtual void OnClose(wxCommandEvent& event)
{
event.Skip();
}
protected:
wxTextCtrl* textControl;
wxStdDialogButtonSizer* m_sdbSizer2;
wxButton* m_sdbSizer2OK;
public:
TextViewerWindowGen(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxString& title = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxSize(208, 143),
long style = wxCLOSE_BOX | wxDEFAULT_DIALOG_STYLE | wxMAXIMIZE_BOX |
wxMINIMIZE_BOX | wxRESIZE_BORDER);
// Virtual event handlers, override them in your derived class
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
virtual void OnClose( wxCommandEvent& event ) { event.Skip(); }
public:
TextViewerWindowGen( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 208,143 ), long style = wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxMINIMIZE_BOX|wxRESIZE_BORDER );
~TextViewerWindowGen();
~TextViewerWindowGen();
};
///////////////////////////////////////////////////////////////////////////////
@@ -130,33 +105,25 @@ public:
///////////////////////////////////////////////////////////////////////////////
class FluxViewerWindowGen : public wxDialog
{
private:
protected:
FluxViewerControl* fluxviewer;
wxScrollBar* scrollbar;
wxStdDialogButtonSizer* m_sdbSizer2;
wxButton* m_sdbSizer2OK;
private:
// Virtual event handlers, override them in your derived class
virtual void OnClose(wxCloseEvent& event)
{
event.Skip();
}
virtual void OnClose(wxCommandEvent& event)
{
event.Skip();
}
protected:
FluxViewerControl* fluxviewer;
wxScrollBar* scrollbar;
wxStdDialogButtonSizer* m_sdbSizer2;
wxButton* m_sdbSizer2OK;
public:
FluxViewerWindowGen(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxString& title = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxSize(400, 200),
long style = wxCLOSE_BOX | wxDEFAULT_DIALOG_STYLE | wxMAXIMIZE_BOX |
wxMINIMIZE_BOX | wxRESIZE_BORDER);
// Virtual event handlers, override them in your derived class
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
virtual void OnClose( wxCommandEvent& event ) { event.Skip(); }
public:
FluxViewerWindowGen( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 400,200 ), long style = wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxMINIMIZE_BOX|wxRESIZE_BORDER );
~FluxViewerWindowGen();
~FluxViewerWindowGen();
};
///////////////////////////////////////////////////////////////////////////////
@@ -164,37 +131,26 @@ public:
///////////////////////////////////////////////////////////////////////////////
class TextEditorWindowGen : public wxDialog
{
private:
protected:
wxTextCtrl* textControl;
wxStdDialogButtonSizer* m_sdbSizer2;
wxButton* m_sdbSizer2Save;
wxButton* m_sdbSizer2Cancel;
private:
// Virtual event handlers, override them in your derived class
virtual void OnClose(wxCloseEvent& event)
{
event.Skip();
}
virtual void OnCancel(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnSave(wxCommandEvent& event)
{
event.Skip();
}
protected:
wxTextCtrl* textControl;
wxStdDialogButtonSizer* m_sdbSizer2;
wxButton* m_sdbSizer2Save;
wxButton* m_sdbSizer2Cancel;
public:
TextEditorWindowGen(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxString& title = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxCLOSE_BOX | wxDEFAULT_DIALOG_STYLE | wxMAXIMIZE_BOX |
wxMINIMIZE_BOX | wxRESIZE_BORDER);
// Virtual event handlers, override them in your derived class
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
virtual void OnSave( wxCommandEvent& event ) { event.Skip(); }
public:
TextEditorWindowGen( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxMINIMIZE_BOX|wxRESIZE_BORDER );
~TextEditorWindowGen();
~TextEditorWindowGen();
};
///////////////////////////////////////////////////////////////////////////////
@@ -202,32 +158,27 @@ public:
///////////////////////////////////////////////////////////////////////////////
class FileViewerWindowGen : public wxDialog
{
private:
protected:
wxNotebook* m_notebook1;
wxPanel* m_panel8;
wxTextCtrl* textControl;
wxPanel* m_panel7;
wxTextCtrl* hexControl;
wxStdDialogButtonSizer* m_sdbSizer2;
wxButton* m_sdbSizer2OK;
private:
// Virtual event handlers, override them in your derived class
virtual void OnClose(wxCommandEvent& event)
{
event.Skip();
}
protected:
wxNotebook* m_notebook1;
wxPanel* m_panel8;
wxTextCtrl* textControl;
wxPanel* m_panel7;
wxTextCtrl* hexControl;
wxStdDialogButtonSizer* m_sdbSizer2;
wxButton* m_sdbSizer2OK;
public:
FileViewerWindowGen(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxString& title = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxSize(408, 269),
long style = wxDEFAULT_DIALOG_STYLE | wxMAXIMIZE_BOX | wxMINIMIZE_BOX |
wxRESIZE_BORDER);
// Virtual event handlers, override them in your derived class
virtual void OnClose( wxCommandEvent& event ) { event.Skip(); }
public:
FileViewerWindowGen( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 408,269 ), long style = wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxMINIMIZE_BOX|wxRESIZE_BORDER );
~FileViewerWindowGen();
~FileViewerWindowGen();
};
///////////////////////////////////////////////////////////////////////////////
@@ -235,26 +186,23 @@ public:
///////////////////////////////////////////////////////////////////////////////
class GetfileDialog : public wxDialog
{
private:
protected:
wxStaticText* m_staticText7;
wxStaticText* m_staticText9;
private:
public:
wxTextCtrl* filenameText;
wxFilePickerCtrl* targetFilePicker;
wxStdDialogButtonSizer* buttons_;
wxButton* buttons_OK;
wxButton* buttons_Cancel;
protected:
wxStaticText* m_staticText7;
wxStaticText* m_staticText9;
GetfileDialog(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxString& title = wxT("Copy file off disk"),
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE);
public:
wxTextCtrl* filenameText;
wxFilePickerCtrl* targetFilePicker;
wxStdDialogButtonSizer* buttons_;
wxButton* buttons_OK;
wxButton* buttons_Cancel;
GetfileDialog( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Copy file off disk"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
~GetfileDialog();
~GetfileDialog();
};
///////////////////////////////////////////////////////////////////////////////
@@ -262,27 +210,24 @@ public:
///////////////////////////////////////////////////////////////////////////////
class FileConflictDialog : public wxDialog
{
private:
protected:
wxStaticText* m_staticText91;
wxStaticText* m_staticText7;
wxStaticText* m_staticText9;
private:
public:
wxTextCtrl* newNameText;
wxTextCtrl* oldNameText;
wxStdDialogButtonSizer* buttons_;
wxButton* buttons_OK;
wxButton* buttons_Cancel;
protected:
wxStaticText* m_staticText91;
wxStaticText* m_staticText7;
wxStaticText* m_staticText9;
FileConflictDialog(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxString& title = wxT("Filename conflict"),
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE);
public:
wxTextCtrl* newNameText;
wxTextCtrl* oldNameText;
wxStdDialogButtonSizer* buttons_;
wxButton* buttons_OK;
wxButton* buttons_Cancel;
FileConflictDialog( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Filename conflict"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
~FileConflictDialog();
~FileConflictDialog();
};
///////////////////////////////////////////////////////////////////////////////
@@ -290,27 +235,24 @@ public:
///////////////////////////////////////////////////////////////////////////////
class FileRenameDialog : public wxDialog
{
private:
protected:
wxStaticText* m_staticText91;
wxStaticText* m_staticText7;
wxStaticText* m_staticText9;
private:
public:
wxTextCtrl* newNameText;
wxTextCtrl* oldNameText;
wxStdDialogButtonSizer* buttons_;
wxButton* buttons_OK;
wxButton* buttons_Cancel;
protected:
wxStaticText* m_staticText91;
wxStaticText* m_staticText7;
wxStaticText* m_staticText9;
FileRenameDialog(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxString& title = wxT("Rename or move file"),
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE);
public:
wxTextCtrl* newNameText;
wxTextCtrl* oldNameText;
wxStdDialogButtonSizer* buttons_;
wxButton* buttons_OK;
wxButton* buttons_Cancel;
FileRenameDialog( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Rename or move file"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
~FileRenameDialog();
~FileRenameDialog();
};
///////////////////////////////////////////////////////////////////////////////
@@ -318,25 +260,22 @@ public:
///////////////////////////////////////////////////////////////////////////////
class CreateDirectoryDialog : public wxDialog
{
private:
protected:
wxStaticText* m_staticText91;
wxStaticText* m_staticText9;
private:
public:
wxTextCtrl* newNameText;
wxStdDialogButtonSizer* buttons_;
wxButton* buttons_OK;
wxButton* buttons_Cancel;
protected:
wxStaticText* m_staticText91;
wxStaticText* m_staticText9;
CreateDirectoryDialog(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxString& title = wxT("Create new directory"),
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE);
public:
wxTextCtrl* newNameText;
wxStdDialogButtonSizer* buttons_;
wxButton* buttons_OK;
wxButton* buttons_Cancel;
CreateDirectoryDialog( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Create new directory"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
~CreateDirectoryDialog();
~CreateDirectoryDialog();
};
///////////////////////////////////////////////////////////////////////////////
@@ -344,26 +283,23 @@ public:
///////////////////////////////////////////////////////////////////////////////
class FormatDialog : public wxDialog
{
private:
protected:
wxStaticText* m_staticText91;
wxStaticText* m_staticText7;
private:
public:
wxTextCtrl* volumeNameText;
wxCheckBox* quickFormatCheckBox;
wxStdDialogButtonSizer* buttons_;
wxButton* buttons_OK;
wxButton* buttons_Cancel;
protected:
wxStaticText* m_staticText91;
wxStaticText* m_staticText7;
FormatDialog(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxString& title = wxT("Format disk"),
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE);
public:
wxTextCtrl* volumeNameText;
wxCheckBox* quickFormatCheckBox;
wxStdDialogButtonSizer* buttons_;
wxButton* buttons_OK;
wxButton* buttons_Cancel;
FormatDialog( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Format disk"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
~FormatDialog();
~FormatDialog();
};
///////////////////////////////////////////////////////////////////////////////
@@ -371,59 +307,37 @@ public:
///////////////////////////////////////////////////////////////////////////////
class IdlePanelGen : public wxPanel
{
private:
protected:
wxStaticBitmap* applicationBitmap;
wxPanel* sourceIconPanel;
wxSimplebook* sourceBook;
wxChoice* formatChoice;
wxButton* customConfigurationButton;
wxPanel* formatOptionsContainer;
wxButton* readButton;
wxButton* writeButton;
wxButton* browseButton;
wxButton* formatButton;
wxButton* exploreButton;
private:
// Virtual event handlers, override them in your derived class
virtual void OnControlsChanged(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnCustomConfigurationButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnReadButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnWriteButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnBrowseButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnFormatButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnExploreButton(wxCommandEvent& event)
{
event.Skip();
}
protected:
wxStaticBitmap* applicationBitmap;
wxPanel* sourceIconPanel;
wxSimplebook* sourceBook;
wxChoice* formatChoice;
wxButton* customConfigurationButton;
wxPanel* formatOptionsContainer;
wxButton* readButton;
wxButton* writeButton;
wxButton* browseButton;
wxButton* formatButton;
wxButton* exploreButton;
public:
IdlePanelGen(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxSize(-1, -1),
long style = wxTAB_TRAVERSAL,
const wxString& name = wxEmptyString);
// Virtual event handlers, override them in your derived class
virtual void OnControlsChanged( wxCommandEvent& event ) { event.Skip(); }
virtual void OnCustomConfigurationButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnReadButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnWriteButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnBrowseButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnFormatButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnExploreButton( wxCommandEvent& event ) { event.Skip(); }
public:
IdlePanelGen( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString );
~IdlePanelGen();
~IdlePanelGen();
};
///////////////////////////////////////////////////////////////////////////////
@@ -431,43 +345,30 @@ public:
///////////////////////////////////////////////////////////////////////////////
class ImagerPanelGen : public wxPanel
{
private:
protected:
wxAuiToolBar* imagerToolbar;
wxAuiToolBarItem* imagerBackTool;
VisualisationControl* visualiser;
wxButton* imagerSaveImageButton;
wxButton* imagerSaveFluxButton;
HistogramViewer* histogram;
wxButton* imagerGoAgainButton;
private:
// Virtual event handlers, override them in your derived class
virtual void OnBackButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnSaveImageButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnSaveFluxButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnImagerGoAgainButton(wxCommandEvent& event)
{
event.Skip();
}
protected:
wxAuiToolBar* imagerToolbar;
wxAuiToolBarItem* imagerBackTool;
VisualisationControl* visualiser;
wxButton* imagerSaveImageButton;
wxButton* imagerSaveFluxButton;
HistogramViewer* histogram;
wxButton* imagerGoAgainButton;
public:
ImagerPanelGen(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxSize(500, 300),
long style = wxTAB_TRAVERSAL,
const wxString& name = wxEmptyString);
// Virtual event handlers, override them in your derived class
virtual void OnBackButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnSaveImageButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnSaveFluxButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnImagerGoAgainButton( wxCommandEvent& event ) { event.Skip(); }
public:
ImagerPanelGen( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString );
~ImagerPanelGen();
~ImagerPanelGen();
};
///////////////////////////////////////////////////////////////////////////////
@@ -475,121 +376,69 @@ public:
///////////////////////////////////////////////////////////////////////////////
class BrowserPanelGen : public wxPanel
{
private:
protected:
wxAuiToolBar* browserToolbar;
wxAuiToolBarItem* browserBackTool;
wxAuiToolBarItem* browserInfoTool;
wxAuiToolBarItem* browserViewTool;
wxAuiToolBarItem* browserSaveTool;
wxAuiToolBarItem* browserMoreMenuButton;
wxMenu* browserMoreMenu;
wxMenuItem* browserAddMenuItem;
wxMenuItem* browserNewDirectoryMenuItem;
wxMenuItem* browserRenameMenuItem;
wxMenuItem* browserDeleteMenuItem;
wxAuiToolBarItem* browserFormatTool;
wxDataViewCtrl* browserTree;
wxDataViewColumn* m_dataViewColumn1;
wxDataViewColumn* m_dataViewColumn2;
wxDataViewColumn* m_dataViewColumn3;
wxGauge* diskSpaceGauge;
wxButton* browserDiscardButton;
wxButton* browserCommitButton;
wxStaticText* m_staticText12;
private:
// Virtual event handlers, override them in your derived class
virtual void OnBackButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnBrowserInfoButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnBrowserViewButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnBrowserSaveButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnBrowserAddMenuItem(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnBrowserNewDirectoryMenuItem(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnBrowserRenameMenuItem(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnBrowserDeleteMenuItem(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnBrowserFormatButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnBrowserBeginDrag(wxDataViewEvent& event)
{
event.Skip();
}
virtual void OnBrowserDrop(wxDataViewEvent& event)
{
event.Skip();
}
virtual void OnBrowserDropPossible(wxDataViewEvent& event)
{
event.Skip();
}
virtual void OnBrowserFilenameChanged(wxDataViewEvent& event)
{
event.Skip();
}
virtual void OnBrowserDirectoryExpanding(wxDataViewEvent& event)
{
event.Skip();
}
virtual void OnBrowserSelectionChanged(wxDataViewEvent& event)
{
event.Skip();
}
virtual void OnBrowserDiscardButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnBrowserCommitButton(wxCommandEvent& event)
{
event.Skip();
}
protected:
wxAuiToolBar* browserToolbar;
wxAuiToolBarItem* browserBackTool;
wxAuiToolBarItem* browserInfoTool;
wxAuiToolBarItem* browserViewTool;
wxAuiToolBarItem* browserSaveTool;
wxAuiToolBarItem* browserMoreMenuButton;
wxMenu* browserMoreMenu;
wxMenuItem* browserAddMenuItem;
wxMenuItem* browserNewDirectoryMenuItem;
wxMenuItem* browserRenameMenuItem;
wxMenuItem* browserDeleteMenuItem;
wxAuiToolBarItem* browserFormatTool;
wxDataViewCtrl* browserTree;
wxDataViewColumn* m_dataViewColumn1;
wxDataViewColumn* m_dataViewColumn2;
wxDataViewColumn* m_dataViewColumn3;
wxGauge* diskSpaceGauge;
wxButton* browserDiscardButton;
wxButton* browserCommitButton;
wxStaticText* m_staticText12;
public:
BrowserPanelGen(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxSize(500, 300),
long style = wxTAB_TRAVERSAL,
const wxString& name = wxEmptyString);
// Virtual event handlers, override them in your derived class
virtual void OnBackButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnBrowserInfoButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnBrowserViewButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnBrowserSaveButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnBrowserAddMenuItem( wxCommandEvent& event ) { event.Skip(); }
virtual void OnBrowserNewDirectoryMenuItem( wxCommandEvent& event ) { event.Skip(); }
virtual void OnBrowserRenameMenuItem( wxCommandEvent& event ) { event.Skip(); }
virtual void OnBrowserDeleteMenuItem( wxCommandEvent& event ) { event.Skip(); }
virtual void OnBrowserFormatButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnBrowserBeginDrag( wxDataViewEvent& event ) { event.Skip(); }
virtual void OnBrowserDrop( wxDataViewEvent& event ) { event.Skip(); }
virtual void OnBrowserDropPossible( wxDataViewEvent& event ) { event.Skip(); }
virtual void OnBrowserFilenameChanged( wxDataViewEvent& event ) { event.Skip(); }
virtual void OnBrowserDirectoryExpanding( wxDataViewEvent& event ) { event.Skip(); }
virtual void OnBrowserSelectionChanged( wxDataViewEvent& event ) { event.Skip(); }
virtual void OnBrowserDiscardButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnBrowserCommitButton( wxCommandEvent& event ) { event.Skip(); }
~BrowserPanelGen();
void browserMoreMenuButtonOnDropDownMenu(wxAuiToolBarEvent& event)
{
if (event.IsDropDownClicked())
{
browserToolbar->SetToolSticky(event.GetId(), true);
wxRect rect = browserToolbar->GetToolRect(event.GetId());
wxPoint pt = browserToolbar->ClientToScreen(rect.GetBottomLeft());
pt = ScreenToClient(pt);
browserToolbar->PopupMenu(browserMoreMenu, pt);
browserToolbar->SetToolSticky(event.GetId(), false);
}
}
public:
BrowserPanelGen( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString );
~BrowserPanelGen();
void browserMoreMenuButtonOnDropDownMenu( wxAuiToolBarEvent &event )
{
if ( event.IsDropDownClicked() )
{
browserToolbar->SetToolSticky( event.GetId(), true );
wxRect rect = browserToolbar->GetToolRect( event.GetId() );
wxPoint pt = browserToolbar->ClientToScreen( rect.GetBottomLeft() );
pt = ScreenToClient( pt );
browserToolbar->PopupMenu( browserMoreMenu, pt );
browserToolbar->SetToolSticky( event.GetId(), false );
}
}
};
///////////////////////////////////////////////////////////////////////////////
@@ -597,64 +446,45 @@ public:
///////////////////////////////////////////////////////////////////////////////
class ExplorerPanelGen : public wxPanel
{
private:
protected:
wxAuiToolBar* explorerToolbar;
wxAuiToolBarItem* explorerBackTool;
wxAuiToolBarItem* explorerRefreshTool;
wxStaticText* m_staticText22;
wxSpinCtrl* explorerTrackSpinCtrl;
wxStaticText* m_staticText26;
wxSpinCtrl* explorerSideSpinCtrl;
wxStaticText* m_staticText231;
wxSpinCtrlDouble* explorerStartTimeSpinCtrl;
wxStaticText* m_staticText24;
wxButton* guessButton;
wxSpinCtrlDouble* explorerClockSpinCtrl;
wxStaticText* m_staticText25;
wxSpinCtrl* explorerBitOffsetSpinCtrl;
wxStaticText* m_staticText27;
wxChoice* explorerDecodeChoice;
wxStaticText* m_staticText241;
wxCheckBox* explorerReverseCheckBox;
HistogramViewer* histogram;
wxTextCtrl* explorerText;
private:
// Virtual event handlers, override them in your derived class
virtual void OnBackButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnExplorerRefreshButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnExplorerSettingChange(wxSpinEvent& event)
{
event.Skip();
}
virtual void OnExplorerSettingChange(wxSpinDoubleEvent& event)
{
event.Skip();
}
virtual void OnGuessClockButton(wxCommandEvent& event)
{
event.Skip();
}
virtual void OnExplorerSettingChange(wxCommandEvent& event)
{
event.Skip();
}
protected:
wxAuiToolBar* explorerToolbar;
wxAuiToolBarItem* explorerBackTool;
wxAuiToolBarItem* explorerRefreshTool;
wxStaticText* m_staticText22;
wxSpinCtrl* explorerTrackSpinCtrl;
wxStaticText* m_staticText26;
wxSpinCtrl* explorerSideSpinCtrl;
wxStaticText* m_staticText231;
wxSpinCtrlDouble* explorerStartTimeSpinCtrl;
wxStaticText* m_staticText24;
wxButton* guessButton;
wxSpinCtrlDouble* explorerClockSpinCtrl;
wxStaticText* m_staticText25;
wxSpinCtrl* explorerBitOffsetSpinCtrl;
wxStaticText* m_staticText27;
wxChoice* explorerDecodeChoice;
wxStaticText* m_staticText241;
wxCheckBox* explorerReverseCheckBox;
HistogramViewer* histogram;
wxTextCtrl* explorerText;
public:
ExplorerPanelGen(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxSize(620, 426),
long style = wxTAB_TRAVERSAL,
const wxString& name = wxEmptyString);
// Virtual event handlers, override them in your derived class
virtual void OnBackButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnExplorerRefreshButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnExplorerSettingChange( wxSpinEvent& event ) { event.Skip(); }
virtual void OnExplorerSettingChange( wxSpinDoubleEvent& event ) { event.Skip(); }
virtual void OnGuessClockButton( wxCommandEvent& event ) { event.Skip(); }
virtual void OnExplorerSettingChange( wxCommandEvent& event ) { event.Skip(); }
public:
ExplorerPanelGen( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 620,426 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString );
~ExplorerPanelGen();
~ExplorerPanelGen();
};
///////////////////////////////////////////////////////////////////////////////
@@ -662,24 +492,21 @@ public:
///////////////////////////////////////////////////////////////////////////////
class HardwareSourcePanelGen : public wxPanel
{
private:
protected:
wxStaticText* m_staticText30;
wxStaticText* m_staticText29;
private:
public:
wxStaticText* label;
wxCheckBox* highDensityToggle;
wxChoice* driveTypeChoice;
protected:
wxStaticText* m_staticText30;
wxStaticText* m_staticText29;
HardwareSourcePanelGen(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxSize(-1, -1),
long style = wxTAB_TRAVERSAL,
const wxString& name = wxEmptyString);
public:
wxStaticText* label;
wxCheckBox* highDensityToggle;
wxChoice* driveTypeChoice;
HardwareSourcePanelGen( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString );
~HardwareSourcePanelGen();
~HardwareSourcePanelGen();
};
///////////////////////////////////////////////////////////////////////////////
@@ -687,22 +514,21 @@ public:
///////////////////////////////////////////////////////////////////////////////
class FluxfileSourcePanelGen : public wxPanel
{
private:
protected:
wxStaticText* m_staticText28;
wxStaticText* m_staticText27;
private:
public:
wxFilePickerCtrl* fluxImagePicker;
protected:
wxStaticText* m_staticText28;
wxStaticText* m_staticText27;
wxStaticText* m_staticText281;
FluxfileSourcePanelGen(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxSize(-1, -1),
long style = wxTAB_TRAVERSAL,
const wxString& name = wxEmptyString);
public:
wxFilePickerCtrl* fluxImagePicker;
wxChoice* fluxImageFormat;
FluxfileSourcePanelGen( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString );
~FluxfileSourcePanelGen();
~FluxfileSourcePanelGen();
};
///////////////////////////////////////////////////////////////////////////////
@@ -710,20 +536,18 @@ public:
///////////////////////////////////////////////////////////////////////////////
class ImagefileSourcePanelGen : public wxPanel
{
private:
protected:
wxStaticText* m_staticText29;
wxStaticText* m_staticText28;
private:
public:
wxFilePickerCtrl* diskImagePicker;
protected:
wxStaticText* m_staticText29;
wxStaticText* m_staticText28;
ImagefileSourcePanelGen(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxSize(-1, -1),
long style = wxTAB_TRAVERSAL,
const wxString& name = wxEmptyString);
public:
wxFilePickerCtrl* diskImagePicker;
ImagefileSourcePanelGen( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString );
~ImagefileSourcePanelGen();
~ImagefileSourcePanelGen();
};