mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
@@ -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;
|
||||
}
|
||||
12
lib/config.h
12
lib/config.h
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include <climits>
|
||||
#include <variant>
|
||||
#include <optional>
|
||||
#include <regex>
|
||||
#include <fmt/format.h>
|
||||
|
||||
#if defined(_WIN32) || defined(__WIN32__)
|
||||
|
||||
1063
src/gui/icon.png.h
1063
src/gui/icon.png.h
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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>
|
||||
|
||||
846
src/gui/layout.h
846
src/gui/layout.h
@@ -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();
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user