[Scummvm-cvs-logs] SF.net SVN: scummvm:[43454] tools/branches/gsoc2009-gui
Remere at users.sourceforge.net
Remere at users.sourceforge.net
Mon Aug 17 02:15:30 CEST 2009
Revision: 43454
http://scummvm.svn.sourceforge.net/scummvm/?rev=43454&view=rev
Author: Remere
Date: 2009-08-17 00:15:30 +0000 (Mon, 17 Aug 2009)
Log Message:
-----------
*Removed old gui files.
Removed Paths:
-------------
tools/branches/gsoc2009-gui/tools_gui_old.cpp
tools/branches/gsoc2009-gui/tools_gui_old.h
Deleted: tools/branches/gsoc2009-gui/tools_gui_old.cpp
===================================================================
--- tools/branches/gsoc2009-gui/tools_gui_old.cpp 2009-08-16 19:49:46 UTC (rev 43453)
+++ tools/branches/gsoc2009-gui/tools_gui_old.cpp 2009-08-17 00:15:30 UTC (rev 43454)
@@ -1,1005 +0,0 @@
-/* tool_gui - GUI for all the tools
- * Copyright (C) 2007 The ScummVM Team
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- *
- */
-
-#include "tools_gui.h"
-
-IMPLEMENT_APP(ToolsGui)
-
-BEGIN_EVENT_TABLE( CompressionOptions, wxPanel )
- EVT_CHOICE(kCompressionModeChoice, CompressionOptions::OnCompressionModeChange)
-END_EVENT_TABLE()
-
-BEGIN_EVENT_TABLE( CompressionPanel, wxPanel )
- EVT_CHOICE(kCompressionToolChoice, CompressionPanel::OnCompressionToolChange)
- EVT_CHOICE(kCompressionTypeChoice, CompressionPanel::OnCompressionTypeChange)
- EVT_BUTTON(kCompressionInputBrowse, CompressionPanel::OnCompressionInputBrowse)
- EVT_BUTTON(kCompressionOutputBrowse, CompressionPanel::OnCompressionOutputBrowse)
-END_EVENT_TABLE()
-
-BEGIN_EVENT_TABLE( ExtractionPanel, wxPanel )
- EVT_CHOICE(kExtractionToolChoice, ExtractionPanel::OnExtractionToolChange)
- EVT_BUTTON(kExtractionInput1Browse, ExtractionPanel::OnExtractionInput1Browse)
- EVT_BUTTON(kExtractionInput2Browse, ExtractionPanel::OnExtractionInput2Browse)
- EVT_BUTTON(kExtractionOutputBrowse, ExtractionPanel::OnExtractionOutputBrowse)
-END_EVENT_TABLE()
-
-BEGIN_EVENT_TABLE( MainFrame, wxFrame)
- EVT_CHECKBOX(kCompressionOptionsToggle, MainFrame::OnCompressionOptionsToggle)
- EVT_BUTTON(kCompressionStartButton, MainFrame::OnCompressionStart)
- EVT_BUTTON(kExtractionStartButton, MainFrame::OnExtractionStart)
- EVT_IDLE(MainFrame::OnIdle)
-END_EVENT_TABLE()
-
-bool ToolsGui::OnInit() {
- MainFrame *frame = new MainFrame(wxT("ScummVM Tools"));
-
- frame->Show();
- SetTopWindow(frame);
-
- return true;
-}
-
-/* ----- Main Frame ----- */
-
-MainFrame::MainFrame(const wxString& title) : wxFrame((wxFrame *)NULL, wxID_ANY, title, wxDefaultPosition, wxSize(600, 450)) {
- wxBoxSizer *mainSizer = new wxBoxSizer(wxVERTICAL);
- SetSizer(mainSizer);
-
- _mainNotebook = new wxNotebook(this, wxID_ANY);
-
- wxPanel *compressionPage = new wxPanel(_mainNotebook);
- wxBoxSizer *compressionPageSizer = new wxBoxSizer(wxVERTICAL);
- compressionPage->SetSizer(compressionPageSizer);
-
- _compressionTools = new CompressionPanel(compressionPage);
- compressionPageSizer->Add(_compressionTools, 1, wxEXPAND);
-
- wxPanel *extractionPage = new wxPanel(_mainNotebook);
- wxBoxSizer *extractionPageSizer = new wxBoxSizer(wxVERTICAL);
- extractionPage->SetSizer(extractionPageSizer);
-
- _extractionTools = new ExtractionPanel(extractionPage);
- extractionPageSizer->Add(_extractionTools, 1, wxEXPAND);
-
- _mainNotebook->AddPage(compressionPage, wxT("Compression"), false, wxID_ANY);
- _mainNotebook->AddPage(extractionPage, wxT("Extraction"), false, wxID_ANY);
-
- mainSizer->Add(_mainNotebook, 1, wxEXPAND);
- SetMinSize(wxSize(600, 450));
-}
-
-/* ----- Common ----- */
-
-Process::Process(MainFrame *parent, wxTextCtrl *target) : wxProcess(parent) {
- _parent = parent;
- _target = target;
- Redirect();
-}
-
-bool Process::HasInput() {
- if (IsInputAvailable()) {
- wxTextInputStream stream(*GetInputStream());
-
- wxString output;
- output << stream.ReadLine() << wxT("\n");
-
- _target->AppendText(output);
-
- return true;
- }
-
- return false;
-}
-
-void Process::OnTerminate(int pid, int status) {
- while (HasInput());
- _target->AppendText(wxT("\n\n-------------------------"));
- _target->AppendText(wxT("\nOperation Finished."));
- _target->AppendText(wxT("\n-------------------------"));
- _parent->OnProcessTerminated(this);
- delete this;
-}
-
-LocationDialog::LocationDialog(wxTextCtrl *target, bool isFileChooser, wxString wildcard) {
- _isFileChooser = isFileChooser;
- _target = target;
-
- if (_isFileChooser) {
- _dialog = new wxFileDialog(NULL, wxFileSelectorPromptStr, wxT(""), wxT(""), wildcard, wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE);
- } else {
- _dialog = new wxDirDialog(NULL);
- }
-}
-
-void LocationDialog::prompt() {
- if (_isFileChooser) {
- wxFileDialog *dialog = dynamic_cast<wxFileDialog*>(_dialog);
-
- if (dialog->ShowModal() == wxID_OK) {
- wxArrayString filenames;
- dialog->GetPaths(filenames);
-
- _target->SetValue(wxT("\""));
- _target->AppendText(filenames.Item(0));
- _target->AppendText(wxT("\""));
-
- _target->SetInsertionPoint(0);
- }
- } else {
- wxDirDialog *dialog = dynamic_cast<wxDirDialog*>(_dialog);
-
- if (dialog->ShowModal() == wxID_OK) {
- _target->SetValue(wxT("\""));
- _target->AppendText(dialog->GetPath());
- _target->AppendText(wxT("\""));
-
- _target->SetInsertionPoint(0);
- }
- }
-}
-
-#if wxUSE_DRAG_AND_DROP
-FileDrop::FileDrop(wxTextCtrl *target, bool isFileChooser) : wxFileDropTarget() {
- _target = target;
- _target->SetDropTarget(this);
- _isFileChooser = isFileChooser;
-}
-
-bool FileDrop::OnDropFiles(wxCoord x, wxCoord y, const wxArrayString &filenames) {
- if (_target->IsEnabled()) {
- _target->SetValue(wxT("\""));
- _target->AppendText(filenames[0]);
- _target->AppendText(wxT("\""));
-
- _target->SetInsertionPoint(0);
- }
-
- return true;
-}
-#endif
-
-IOChooser::IOChooser(wxWindow *parent, kEventId buttonId, wxString title, bool isFileChooser) : wxPanel(parent) {
- wxStaticBox *staticBox = new wxStaticBox(this, wxID_ANY, title);
- wxStaticBoxSizer *staticBoxSizer = new wxStaticBoxSizer(staticBox, wxHORIZONTAL);
- SetSizer(staticBoxSizer);
-
- wxPanel *panel = new wxPanel(this);
- wxBoxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
- panel->SetSizer(sizer);
-
- _text = new wxTextCtrl(panel, wxID_ANY, wxT(""));
- _browse = new wxButton(panel, buttonId, wxT("Browse"));
- _isFileChooser = isFileChooser;
-
-#if wxUSE_DRAG_AND_DROP
- _dropTarget = new FileDrop(_text, _isFileChooser);
-#endif
-
- sizer->Add(_text, 1, wxEXPAND | wxRIGHT, 5);
- sizer->Add(_browse, 0);
-
- staticBoxSizer->Add(panel, 1);
-}
-
-DropDownBox::DropDownBox(wxWindow *parent, kEventId boxId, wxString title, int numItems, wxString items[]) : wxPanel(parent) {
- wxStaticBox *box = new wxStaticBox(this, wxID_ANY, title);
- wxStaticBoxSizer *sizer = new wxStaticBoxSizer(box, wxHORIZONTAL);
- SetSizer(sizer);
-
- _choice = new wxChoice(this, boxId, wxDefaultPosition, wxDefaultSize, numItems, items);
-
- sizer->Add(_choice, 1, wxEXPAND);
-}
-
-/* ----- Compression ----- */
-
-CompressionOptions::CompressionOptions(wxWindow *parent) : wxPanel(parent) {
- wxStaticBox *box = new wxStaticBox(this, wxID_ANY, wxT("Compression Options"));
- wxStaticBoxSizer *sizer = new wxStaticBoxSizer(box, wxVERTICAL);
- SetSizer(sizer);
-
- wxPanel *grid = new wxPanel(this);
- wxGridSizer *gridSizer = new wxGridSizer(2, 5, 0, 10);
- grid->SetSizer(gridSizer);
-
- wxStaticText *minBitrateLabel = new wxStaticText(grid, wxID_ANY, wxT("Minimum Bitrate"));
- _minBitrateChooser = new wxChoice(grid, wxID_ANY, wxDefaultPosition, wxDefaultSize, kNumValidBitrates, kValidBitrateNames);
-
- wxStaticText *avgBitrateLabel = new wxStaticText(grid, wxID_ANY, wxT("Average Bitrate"));
- _avgBitrateChooser = new wxChoice(grid, wxID_ANY, wxDefaultPosition, wxDefaultSize, kNumValidBitrates, kValidBitrateNames);
-
- wxStaticText *maxBitrateLabel = new wxStaticText(grid, wxID_ANY, wxT("Maximum Bitrate"));
- _maxBitrateChooser = new wxChoice(grid, wxID_ANY, wxDefaultPosition, wxDefaultSize, kNumValidBitrates, kValidBitrateNames);
-
- wxStaticText *vbrQualityLabel = new wxStaticText(grid, wxID_ANY, wxT("VBR Quality"));
- _vbrQualityChooser = new wxChoice(grid, wxID_ANY, wxDefaultPosition, wxDefaultSize, kNumValidQuality, kVaildQualityNames);
-
- wxStaticText *mpegQualityLabel = new wxStaticText(grid, wxID_ANY, wxT("MPEG Quality"));
- _mpegQualityChooser = new wxChoice(grid, wxID_ANY, wxDefaultPosition, wxDefaultSize, kNumValidQuality, kVaildQualityNames);
-
- wxStaticText *compressionLevelLabel = new wxStaticText(grid, wxID_ANY, wxT("Compression Level"));
- _compressionLevelChooser = new wxChoice(grid, wxID_ANY, wxDefaultPosition, wxDefaultSize, kNumValidCompressionLevels, kValidCompressionLevels);
-
- wxStaticText *modeLabel = new wxStaticText(grid, wxID_ANY, wxT("Compression Mode"));
- _modeChooser = new wxChoice(grid, kCompressionModeChoice, wxDefaultPosition, wxDefaultSize, kNumMP3Modes, kMP3ModeNames);
-
- wxStaticText *blockSizeLabel = new wxStaticText(grid, wxID_ANY, wxT("Block Size"));
- _blockSize = new wxChoice(grid, wxID_ANY, wxDefaultPosition, wxDefaultSize, kNumValidFlacBlocksize, kValidFlacBlocksize);
-
- wxStaticText *verifyLabel = new wxStaticText(grid, wxID_ANY, wxT("Verify"));
- _verifyChooser = new wxCheckBox(grid, wxID_ANY, wxT(""));
-
- wxStaticText *silentLabel = new wxStaticText(grid, wxID_ANY, wxT("Silent"));
- _silentChooser = new wxCheckBox(grid, wxID_ANY, wxT(""));
-
- gridSizer->Add(minBitrateLabel, 0, wxALIGN_CENTER);
- gridSizer->Add(avgBitrateLabel, 0, wxALIGN_CENTER);
- gridSizer->Add(maxBitrateLabel, 0, wxALIGN_CENTER);
- gridSizer->Add(vbrQualityLabel, 0, wxALIGN_CENTER);
- gridSizer->Add(mpegQualityLabel, 0, wxALIGN_CENTER);
-
- gridSizer->Add(_minBitrateChooser, 0, wxALIGN_CENTER | wxEXPAND);
- gridSizer->Add(_avgBitrateChooser, 0, wxALIGN_CENTER | wxEXPAND);
- gridSizer->Add(_maxBitrateChooser, 0, wxALIGN_CENTER | wxEXPAND);
- gridSizer->Add(_vbrQualityChooser, 0, wxALIGN_CENTER | wxEXPAND);
- gridSizer->Add(_mpegQualityChooser, 0, wxALIGN_CENTER | wxEXPAND);
-
- gridSizer->Add(modeLabel, 0, wxALIGN_CENTER);
- gridSizer->Add(compressionLevelLabel, 0, wxALIGN_CENTER);
- gridSizer->Add(blockSizeLabel, 0, wxALIGN_CENTER);
- gridSizer->Add(verifyLabel, 0, wxALIGN_CENTER);
- gridSizer->Add(silentLabel, 0, wxALIGN_CENTER);
-
- gridSizer->Add(_modeChooser, 0, wxALIGN_CENTER | wxEXPAND);
- gridSizer->Add(_compressionLevelChooser, 0, wxALIGN_CENTER | wxEXPAND);
- gridSizer->Add(_blockSize, 0, wxALIGN_CENTER | wxEXPAND);
- gridSizer->Add(_verifyChooser, 0, wxALIGN_CENTER);
- gridSizer->Add(_silentChooser, 0, wxALIGN_CENTER);
-
- sizer->Add(grid, 0, wxEXPAND);
-}
-
-CompressionPanel::CompressionPanel(wxWindow *parent) : wxPanel(parent) {
- wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
- SetSizer(sizer);
-
- /* Top Panel */
- wxPanel *topPanel = new wxPanel(this);
- wxFlexGridSizer *topPanelSizer = new wxFlexGridSizer(2, 2, 0, 5);
- topPanelSizer->AddGrowableCol(1);
- topPanel->SetSizer(topPanelSizer);
-
- _compressionToolChooserBox = new DropDownBox(topPanel, kCompressionToolChoice, wxT("Game Engine"), kNumCompressionTools, kCompressionToolNames);
-
- _compressionTypeBox = new DropDownBox(topPanel, kCompressionTypeChoice, wxT("Compression Type"), kNumCompressionTypes, kCompressionTypeNames);
- _compressionOptionsChooser = new wxCheckBox(_compressionTypeBox, kCompressionOptionsToggle, wxT("Advanced"));
- _compressionTypeBox->GetSizer()->Add(_compressionOptionsChooser, 1, wxEXPAND | wxLEFT | wxRIGHT, 10);
-
- _inputPanel = new IOChooser(topPanel, kCompressionInputBrowse, wxT("Input"), true);
- _outputPanel = new IOChooser(topPanel, kCompressionOutputBrowse, wxT("Output"), false);
-
- /* Bottom Panel */
- wxPanel *bottomPanel = new wxPanel(this);
- wxBoxSizer *bottomPanelSizer = new wxBoxSizer(wxVERTICAL);
- bottomPanel->SetSizer(bottomPanelSizer);
-
- /* Initially hide the advanced compression options
- * They can be shown by toggling _compressionOptionsChooser
- */
- _compressionOptionsPanel = new CompressionOptions(bottomPanel);
- _compressionOptionsPanel->Show(false);
-
- _startButton = new wxButton(bottomPanel, kCompressionStartButton, wxT("START"));
- _toolOutput = new wxTextCtrl(bottomPanel, wxID_ANY, wxT(""), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE | wxTE_READONLY);
-
- topPanelSizer->Add(_compressionToolChooserBox, 0, wxEXPAND);
- topPanelSizer->Add(_inputPanel, 1, wxEXPAND);
- topPanelSizer->Add(_compressionTypeBox, 0, wxEXPAND);
- topPanelSizer->Add(_outputPanel, 1, wxEXPAND);
- bottomPanelSizer->Add(_startButton, 0, wxEXPAND | wxTOP, 5);
- bottomPanelSizer->Add(_compressionOptionsPanel, 0, wxEXPAND);
- bottomPanelSizer->Add(_toolOutput, 1, wxEXPAND | wxTOP, 5);
-
- sizer->Add(topPanel, 0, wxEXPAND);
- sizer->Add(bottomPanel, 1, wxEXPAND);
-
- /* Simulate selecting the first tool to set up the compression options */
- _compressionToolChooserBox->_choice->SetSelection(0);
- wxCommandEvent toolEvent = wxCommandEvent(wxEVT_COMMAND_CHOICE_SELECTED, kCompressionToolChoice);
- OnCompressionToolChange(toolEvent);
-
- /* Simulate selecting the first compression type to set up the compression options */
- _compressionTypeBox->_choice->SetSelection(0);
- wxCommandEvent compressionEvent = wxCommandEvent(wxEVT_COMMAND_CHOICE_SELECTED, kCompressionTypeChoice);
- OnCompressionTypeChange(compressionEvent);
-}
-
-/* ----- Extraction ----- */
-
-ExtractionOptions::ExtractionOptions(wxWindow *parent) : wxPanel(parent) {
- wxStaticBox *box = new wxStaticBox(this, wxID_ANY, wxT("Extraction Options"));
- wxStaticBoxSizer *sizer = new wxStaticBoxSizer(box, wxVERTICAL);
- SetSizer(sizer);
-
- wxPanel *grid = new wxPanel(this);
- wxFlexGridSizer *gridSizer = new wxFlexGridSizer(2, 5, 0, 20);
- gridSizer->AddGrowableCol(4);
- grid->SetSizer(gridSizer);
-
- wxStaticText *parallactionSmallLabel = new wxStaticText(grid, wxID_ANY, wxT("Small Archive"));
- _parallactionSmall = new wxCheckBox(grid, wxID_ANY, wxT(""));
-
- wxStaticText *kyraAmigaLabel = new wxStaticText(grid, wxID_ANY, wxT("Amiga .PAK File"));
- _kyraAmiga = new wxCheckBox(grid, wxID_ANY, wxT(""));
-
- wxStaticText *kyraAllFilesLabel = new wxStaticText(grid, wxID_ANY, wxT("Extract All Files"));
- _kyraAllFiles = new wxCheckBox(grid, wxID_ANY, wxT(""));
-
- wxStaticText *kyraSingleFileLabel = new wxStaticText(grid, wxID_ANY, wxT("Extract Single File"));
- _kyraSingleFile = new wxCheckBox(grid, wxID_ANY, wxT(""));
-
- wxStaticText *kyraFilenameLabel = new wxStaticText(grid, wxID_ANY, wxT("Filename"));
- _kyraFilename = new wxTextCtrl(grid, wxID_ANY, wxT(""));
-
- gridSizer->Add(parallactionSmallLabel, 0, wxALIGN_CENTER);
- gridSizer->Add(kyraAmigaLabel, 0, wxALIGN_CENTER);
- gridSizer->Add(kyraAllFilesLabel, 0, wxALIGN_CENTER);
- gridSizer->Add(kyraSingleFileLabel, 0, wxALIGN_CENTER);
- gridSizer->Add(kyraFilenameLabel, 0, wxALIGN_CENTER);
-
- gridSizer->Add(_parallactionSmall, 0, wxALIGN_CENTER);
- gridSizer->Add(_kyraAmiga, 0, wxALIGN_CENTER);
- gridSizer->Add(_kyraAllFiles, 0, wxALIGN_CENTER);
- gridSizer->Add(_kyraSingleFile, 0, wxALIGN_CENTER);
- gridSizer->Add(_kyraFilename, 0, wxEXPAND);
-
- sizer->Add(grid, 0, wxEXPAND);
-}
-
-ExtractionPanel::ExtractionPanel(wxWindow *parent) : wxPanel(parent) {
- wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
- SetSizer(sizer);
-
- /* Top Panel */
- wxPanel *topPanel = new wxPanel(this);
- wxFlexGridSizer *topPanelSizer = new wxFlexGridSizer(3, 2, 0, 5);
- topPanelSizer->AddGrowableCol(1);
- topPanel->SetSizer(topPanelSizer);
-
- _extractionToolChooserPanel = new DropDownBox((wxWindow *)topPanel, kExtractionToolChoice, wxT("Game Engine"), kNumExtractionTools, kExtractionToolNames);
- _input1Panel = new IOChooser(topPanel, kExtractionInput1Browse, wxT("Input 1"), true);
- _input2Panel = new IOChooser(topPanel, kExtractionInput2Browse, wxT("Input 2"), true);
- _outputPanel = new IOChooser(topPanel, kExtractionOutputBrowse, wxT("Output"), false);
-
- /* Bottom Panel */
- wxPanel *bottomPanel = new wxPanel(this);
- wxBoxSizer *bottomPanelSizer = new wxBoxSizer(wxVERTICAL);
- bottomPanel->SetSizer(bottomPanelSizer);
-
- _extractionOptionsPanel = new ExtractionOptions(bottomPanel);
- _startButton = new wxButton(bottomPanel, kExtractionStartButton, wxT("START"));
- _toolOutput = new wxTextCtrl(bottomPanel, wxID_ANY, wxT(""), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE | wxTE_READONLY);
-
- topPanelSizer->Add(_extractionToolChooserPanel, 1, wxEXPAND);
- topPanelSizer->Add(_input1Panel, 5, wxEXPAND);
- topPanelSizer->AddStretchSpacer();
- topPanelSizer->Add(_input2Panel, 5, wxEXPAND);
- topPanelSizer->AddStretchSpacer();
- topPanelSizer->Add(_outputPanel, 5, wxEXPAND);
- bottomPanelSizer->Add(_extractionOptionsPanel, 0, wxEXPAND | wxBOTTOM, 5);
- bottomPanelSizer->Add(_startButton, 0, wxEXPAND | wxBOTTOM, 5);
- bottomPanelSizer->Add(_toolOutput, 1, wxEXPAND);
-
- sizer->Add(topPanel, 0, wxEXPAND);
- sizer->Add(bottomPanel, 1, wxEXPAND);
-
- /* Simulate selecting the first tool to set up the extraction options */
- _extractionToolChooserPanel->_choice->SetSelection(0);
- wxCommandEvent toolEvent = wxCommandEvent(wxEVT_COMMAND_CHOICE_SELECTED, kExtractionToolChoice);
- OnExtractionToolChange(toolEvent);
-}
-
-/* ----- Compression Events ----- */
-
-void CompressionPanel::OnCompressionToolChange(wxCommandEvent &event) {
- wxString selectedTool = _compressionToolChooserBox->_choice->GetStringSelection();
-
- _inputPanel->_browse->Enable(true);
- _inputPanel->_text->Enable(true);
- _inputPanel->_text->Clear();
- _outputPanel->_isFileChooser = false;
- _outputPanel->_text->Clear();
-
- if (selectedTool == wxT("AGOS")) {
- _inputPanel->_isFileChooser = true;
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- } else if (selectedTool == wxT("Broken Sword 1")) {
- _inputPanel->_isFileChooser = false;
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- } else if (selectedTool == wxT("Broken Sword 2")) {
- _inputPanel->_isFileChooser = true;
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- } else if (selectedTool == wxT("Encode DXA")) {
- _inputPanel->_isFileChooser = true;
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- } else if (selectedTool == wxT("Flight of the Amazon Queen")) {
- _inputPanel->_isFileChooser = true;
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- } else if (selectedTool == wxT("Kyra")) {
- _inputPanel->_isFileChooser = true;
- _outputPanel->_browse->Enable(true);
- _outputPanel->_text->Enable(true);
- } else if (selectedTool == wxT("SAGA")) {
- _inputPanel->_isFileChooser = true;
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- } else if (selectedTool == wxT("SCUMM BUN")) {
- _inputPanel->_isFileChooser = true;
- _outputPanel->_browse->Enable(true);
- _outputPanel->_text->Enable(true);
- } else if (selectedTool == wxT("SCUMM SAN")) {
- _inputPanel->_isFileChooser = true;
- _outputPanel->_browse->Enable(true);
- _outputPanel->_text->Enable(true);
- } else if (selectedTool == wxT("SCUMM SOU")) {
- _inputPanel->_isFileChooser = true;
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- } else if (selectedTool == wxT("Simon 2 (MAC)")) {
- _inputPanel->_isFileChooser = false;
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- } else if (selectedTool == wxT("Touche")) {
- _inputPanel->_isFileChooser = false;
- _outputPanel->_browse->Enable(true);
- _outputPanel->_text->Enable(true);
- } else {
- _inputPanel->_browse->Enable(false);
- _inputPanel->_text->Enable(false);
- _inputPanel->_isFileChooser = false;
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- _outputPanel->_isFileChooser = false;
- }
-}
-
-void CompressionPanel::OnCompressionTypeChange(wxCommandEvent &event) {
- wxString selectedCompression = _compressionTypeBox->_choice->GetStringSelection();
-
- if (selectedCompression == wxT("MP3")) {
- _compressionOptionsPanel->_avgBitrateChooser->SetSelection(0);
- _compressionOptionsPanel->_blockSize->SetSelection(0);
- _compressionOptionsPanel->_compressionLevelChooser->SetSelection(0);
- _compressionOptionsPanel->_maxBitrateChooser->SetStringSelection(kDefaultMP3VBRMaxBitrate);
- _compressionOptionsPanel->_minBitrateChooser->SetStringSelection(kDefaultMP3VBRMinBitrate);
- _compressionOptionsPanel->_modeChooser->SetStringSelection(kDefaultMP3CompressionType);
- _compressionOptionsPanel->_mpegQualityChooser->SetStringSelection(kDefaultMP3MpegQuality);
- _compressionOptionsPanel->_silentChooser->SetValue(true);
- _compressionOptionsPanel->_verifyChooser->SetValue(false);
- _compressionOptionsPanel->_vbrQualityChooser->SetStringSelection(kDefaultMP3VBRQuality);
-
- _compressionOptionsPanel->_minBitrateChooser->Enable(true);
- _compressionOptionsPanel->_avgBitrateChooser->Enable(false);
- _compressionOptionsPanel->_maxBitrateChooser->Enable(true);
- _compressionOptionsPanel->_vbrQualityChooser->Enable(true);
- _compressionOptionsPanel->_mpegQualityChooser->Enable(true);
- _compressionOptionsPanel->_compressionLevelChooser->Enable(false);
- _compressionOptionsPanel->_modeChooser->Enable(true);
- _compressionOptionsPanel->_blockSize->Enable(false);
- _compressionOptionsPanel->_verifyChooser->Enable(false);
- _compressionOptionsPanel->_silentChooser->Enable(false);
- } else if (selectedCompression == wxT("Vorbis")) {
- _compressionOptionsPanel->_avgBitrateChooser->SetSelection(0);
- _compressionOptionsPanel->_blockSize->SetSelection(0);
- _compressionOptionsPanel->_compressionLevelChooser->SetSelection(0);
- _compressionOptionsPanel->_maxBitrateChooser->SetSelection(0);
- _compressionOptionsPanel->_minBitrateChooser->SetSelection(0);
- _compressionOptionsPanel->_modeChooser->SetSelection(0);
- _compressionOptionsPanel->_mpegQualityChooser->SetSelection(0);
- _compressionOptionsPanel->_silentChooser->SetValue(false);
- _compressionOptionsPanel->_verifyChooser->SetValue(false);
- _compressionOptionsPanel->_vbrQualityChooser->SetStringSelection(kDefaultOggQuality);
-
- _compressionOptionsPanel->_minBitrateChooser->Enable(true);
- _compressionOptionsPanel->_avgBitrateChooser->Enable(true);
- _compressionOptionsPanel->_maxBitrateChooser->Enable(true);
- _compressionOptionsPanel->_vbrQualityChooser->Enable(true);
- _compressionOptionsPanel->_mpegQualityChooser->Enable(false);
- _compressionOptionsPanel->_compressionLevelChooser->Enable(false);
- _compressionOptionsPanel->_modeChooser->Enable(false);
- _compressionOptionsPanel->_blockSize->Enable(false);
- _compressionOptionsPanel->_verifyChooser->Enable(false);
- _compressionOptionsPanel->_silentChooser->Enable(true);
- } else if (selectedCompression == wxT("FLAC")) {
- _compressionOptionsPanel->_avgBitrateChooser->SetSelection(0);
- _compressionOptionsPanel->_blockSize->SetStringSelection(kDefaultFlacBlocksize);
- _compressionOptionsPanel->_compressionLevelChooser->SetStringSelection(kDefaultFlacCompress);
- _compressionOptionsPanel->_maxBitrateChooser->SetSelection(0);
- _compressionOptionsPanel->_minBitrateChooser->SetSelection(0);
- _compressionOptionsPanel->_modeChooser->SetSelection(0);
- _compressionOptionsPanel->_mpegQualityChooser->SetSelection(0);
- _compressionOptionsPanel->_silentChooser->SetValue(false);
- _compressionOptionsPanel->_verifyChooser->SetValue(false);
- _compressionOptionsPanel->_vbrQualityChooser->SetSelection(0);
-
- _compressionOptionsPanel->_minBitrateChooser->Enable(false);
- _compressionOptionsPanel->_avgBitrateChooser->Enable(false);
- _compressionOptionsPanel->_maxBitrateChooser->Enable(false);
- _compressionOptionsPanel->_vbrQualityChooser->Enable(false);
- _compressionOptionsPanel->_mpegQualityChooser->Enable(false);
- _compressionOptionsPanel->_compressionLevelChooser->Enable(true);
- _compressionOptionsPanel->_modeChooser->Enable(false);
- _compressionOptionsPanel->_blockSize->Enable(true);
- _compressionOptionsPanel->_verifyChooser->Enable(true);
- _compressionOptionsPanel->_silentChooser->Enable(true);
- } else {
- _compressionOptionsPanel->_avgBitrateChooser->SetSelection(0);
- _compressionOptionsPanel->_blockSize->SetSelection(0);
- _compressionOptionsPanel->_compressionLevelChooser->SetSelection(0);
- _compressionOptionsPanel->_maxBitrateChooser->SetSelection(0);
- _compressionOptionsPanel->_minBitrateChooser->SetSelection(0);
- _compressionOptionsPanel->_modeChooser->SetSelection(0);
- _compressionOptionsPanel->_mpegQualityChooser->SetSelection(0);
- _compressionOptionsPanel->_silentChooser->SetValue(false);
- _compressionOptionsPanel->_verifyChooser->SetValue(false);
- _compressionOptionsPanel->_vbrQualityChooser->SetSelection(0);
-
- _compressionOptionsPanel->_minBitrateChooser->Enable(false);
- _compressionOptionsPanel->_avgBitrateChooser->Enable(false);
- _compressionOptionsPanel->_maxBitrateChooser->Enable(false);
- _compressionOptionsPanel->_vbrQualityChooser->Enable(false);
- _compressionOptionsPanel->_mpegQualityChooser->Enable(false);
- _compressionOptionsPanel->_compressionLevelChooser->Enable(false);
- _compressionOptionsPanel->_modeChooser->Enable(false);
- _compressionOptionsPanel->_verifyChooser->Enable(false);
- _compressionOptionsPanel->_silentChooser->Enable(false);
- }
-}
-
-void CompressionOptions::OnCompressionModeChange(wxCommandEvent &event) {
- wxString selectedMode = _modeChooser->GetStringSelection();
-
- if (selectedMode == wxT("VBR")) {
- _avgBitrateChooser->SetSelection(0);
- _maxBitrateChooser->SetStringSelection(kDefaultMP3VBRMaxBitrate);
- _minBitrateChooser->SetStringSelection(kDefaultMP3VBRMinBitrate);
- _vbrQualityChooser->SetStringSelection(kDefaultMP3VBRQuality);
-
- _avgBitrateChooser->Enable(false);
- _minBitrateChooser->Enable(true);
- _maxBitrateChooser->Enable(true);
- _vbrQualityChooser->Enable(true);
- } else if (selectedMode == wxT("ABR")) {
- _avgBitrateChooser->SetStringSelection(kDefaultMP3ABRAvgBitrate);
- _maxBitrateChooser->SetSelection(0);
- _minBitrateChooser->SetSelection(0);
- _vbrQualityChooser->SetSelection(0);
-
- _avgBitrateChooser->Enable(true);
- _minBitrateChooser->Enable(true);
- _maxBitrateChooser->Enable(true);
- _vbrQualityChooser->Enable(false);
- } else {
- _avgBitrateChooser->SetSelection(0);
- _maxBitrateChooser->SetSelection(0);
- _minBitrateChooser->SetSelection(0);
- _vbrQualityChooser->SetSelection(0);
-
- _avgBitrateChooser->Enable(false);
- _minBitrateChooser->Enable(false);
- _maxBitrateChooser->Enable(false);
- _vbrQualityChooser->Enable(false);
- }
-}
-
-void CompressionPanel::OnCompressionInputBrowse(wxCommandEvent &event) {
- LocationDialog *dialog = new LocationDialog(_inputPanel->_text, _inputPanel->_isFileChooser, wxT("*.*"));
- dialog->prompt();
-
- dialog->_dialog->Destroy();
- delete dialog;
-}
-
-void CompressionPanel::OnCompressionOutputBrowse(wxCommandEvent &event) {
- LocationDialog *dialog = new LocationDialog(_outputPanel->_text, _outputPanel->_isFileChooser, wxT("*.*"));
- dialog->prompt();
-
- dialog->_dialog->Destroy();
- delete dialog;
-}
-
-/* ----- Extraction Events ----- */
-
-void ExtractionPanel::OnExtractionToolChange(wxCommandEvent &event) {
- wxString selectedTool = _extractionToolChooserPanel->_choice->GetStringSelection();
-
- _input1Panel->_browse->Enable(true);
- _input1Panel->_text->Enable(true);
- _input1Panel->_isFileChooser = true;
- _input1Panel->_text->Clear();
- _input2Panel->_isFileChooser = true;
- _input2Panel->_text->Clear();
- _outputPanel->_isFileChooser = false;
- _outputPanel->_text->Clear();
-
- if (selectedTool == wxT("AGOS")) {
- _input2Panel->_browse->Enable(false);
- _input2Panel->_text->Enable(false);
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- _extractionOptionsPanel->_kyraAllFiles->Enable(false);
- _extractionOptionsPanel->_kyraAmiga->Enable(false);
- _extractionOptionsPanel->_kyraFilename->Enable(false);
- _extractionOptionsPanel->_kyraSingleFile->Enable(false);
- _extractionOptionsPanel->_parallactionSmall->Enable(false);
- } else if (selectedTool == wxT("Kyra")) {
- _input2Panel->_browse->Enable(false);
- _input2Panel->_text->Enable(false);
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- _extractionOptionsPanel->_kyraAllFiles->Enable(true);
- _extractionOptionsPanel->_kyraAmiga->Enable(true);
- _extractionOptionsPanel->_kyraFilename->Enable(true);
- _extractionOptionsPanel->_kyraSingleFile->Enable(true);
- _extractionOptionsPanel->_parallactionSmall->Enable(false);
- } else if (selectedTool == wxT("Loom (TG16)")) {
- _input2Panel->_browse->Enable(false);
- _input2Panel->_text->Enable(false);
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- _extractionOptionsPanel->_kyraAllFiles->Enable(false);
- _extractionOptionsPanel->_kyraAmiga->Enable(false);
- _extractionOptionsPanel->_kyraFilename->Enable(false);
- _extractionOptionsPanel->_kyraSingleFile->Enable(false);
- _extractionOptionsPanel->_parallactionSmall->Enable(false);
- } else if (selectedTool == wxT("Maniac Mansion (Apple)")) {
- _input2Panel->_browse->Enable(true);
- _input2Panel->_text->Enable(true);
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- _extractionOptionsPanel->_kyraAllFiles->Enable(false);
- _extractionOptionsPanel->_kyraAmiga->Enable(false);
- _extractionOptionsPanel->_kyraFilename->Enable(false);
- _extractionOptionsPanel->_kyraSingleFile->Enable(false);
- _extractionOptionsPanel->_parallactionSmall->Enable(false);
- } else if (selectedTool == wxT("Maniac Mansion (C64)")) {
- _input2Panel->_browse->Enable(true);
- _input2Panel->_text->Enable(true);
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- _extractionOptionsPanel->_kyraAllFiles->Enable(false);
- _extractionOptionsPanel->_kyraAmiga->Enable(false);
- _extractionOptionsPanel->_kyraFilename->Enable(false);
- _extractionOptionsPanel->_kyraSingleFile->Enable(false);
- _extractionOptionsPanel->_parallactionSmall->Enable(false);
- } else if (selectedTool == wxT("Maniac Mansion (NES)")) {
- _input2Panel->_browse->Enable(false);
- _input2Panel->_text->Enable(false);
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- _extractionOptionsPanel->_kyraAllFiles->Enable(false);
- _extractionOptionsPanel->_kyraAmiga->Enable(false);
- _extractionOptionsPanel->_kyraFilename->Enable(false);
- _extractionOptionsPanel->_kyraSingleFile->Enable(false);
- _extractionOptionsPanel->_parallactionSmall->Enable(false);
- } else if (selectedTool == wxT("Parallaction")) {
- _input2Panel->_browse->Enable(false);
- _input2Panel->_text->Enable(false);
- _outputPanel->_browse->Enable(true);
- _outputPanel->_text->Enable(true);
- _extractionOptionsPanel->_kyraAllFiles->Enable(false);
- _extractionOptionsPanel->_kyraAmiga->Enable(false);
- _extractionOptionsPanel->_kyraFilename->Enable(false);
- _extractionOptionsPanel->_kyraSingleFile->Enable(false);
- _extractionOptionsPanel->_parallactionSmall->Enable(true);
- } else if (selectedTool == wxT("SCUMM (MAC)")) {
- _input2Panel->_browse->Enable(false);
- _input2Panel->_text->Enable(false);
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- _extractionOptionsPanel->_kyraAllFiles->Enable(false);
- _extractionOptionsPanel->_kyraAmiga->Enable(false);
- _extractionOptionsPanel->_kyraFilename->Enable(false);
- _extractionOptionsPanel->_kyraSingleFile->Enable(false);
- _extractionOptionsPanel->_parallactionSmall->Enable(false);
- } else if (selectedTool == wxT("Zak McKracken (C64)")) {
- _input2Panel->_browse->Enable(true);
- _input2Panel->_text->Enable(true);
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- _extractionOptionsPanel->_kyraAllFiles->Enable(false);
- _extractionOptionsPanel->_kyraAmiga->Enable(false);
- _extractionOptionsPanel->_kyraFilename->Enable(false);
- _extractionOptionsPanel->_kyraSingleFile->Enable(false);
- _extractionOptionsPanel->_parallactionSmall->Enable(false);
- } else {
- _input1Panel->_browse->Enable(false);
- _input1Panel->_text->Enable(false);
- _input1Panel->_isFileChooser = false;
- _input2Panel->_browse->Enable(false);
- _input2Panel->_text->Enable(false);
- _input2Panel->_isFileChooser = false;
- _outputPanel->_browse->Enable(false);
- _outputPanel->_text->Enable(false);
- _outputPanel->_isFileChooser = false;
- _extractionOptionsPanel->_kyraAllFiles->Enable(false);
- _extractionOptionsPanel->_kyraAmiga->Enable(false);
- _extractionOptionsPanel->_kyraFilename->Enable(false);
- _extractionOptionsPanel->_kyraSingleFile->Enable(false);
- _extractionOptionsPanel->_parallactionSmall->Enable(false);
- }
-}
-
-void ExtractionPanel::OnExtractionInput1Browse(wxCommandEvent &event) {
- LocationDialog *dialog = new LocationDialog(_input1Panel->_text, _input1Panel->_isFileChooser, wxT("*.*"));
- dialog->prompt();
-
- dialog->_dialog->Destroy();
- delete dialog;
-}
-
-void ExtractionPanel::OnExtractionInput2Browse(wxCommandEvent &event) {
- LocationDialog *dialog = new LocationDialog(_input2Panel->_text, _input2Panel->_isFileChooser, wxT("*.*"));
- dialog->prompt();
-
- dialog->_dialog->Destroy();
- delete dialog;
-}
-
-void ExtractionPanel::OnExtractionOutputBrowse(wxCommandEvent &event) {
- LocationDialog *dialog = new LocationDialog(_outputPanel->_text, _outputPanel->_isFileChooser, wxT("*.*"));
- dialog->prompt();
-
- dialog->_dialog->Destroy();
- delete dialog;
-}
-
-/* ----- MainFrame Events ----- */
-
-void MainFrame::OnCompressionOptionsToggle(wxCommandEvent &event) {
- _compressionTools->_compressionOptionsPanel->Show(!_compressionTools->_compressionOptionsPanel->IsShown());
-
- _compressionTools->Fit();
- _compressionTools->SetSize(_mainNotebook->GetPage(0)->GetSize());
-
- _extractionTools->Fit();
- _extractionTools->SetSize(_mainNotebook->GetPage(1)->GetSize());
-}
-
-void MainFrame::OnCompressionStart(wxCommandEvent &event) {
- _compressionTools->_toolOutput->Clear();
-
- wxString selectedTool = kCompressionToolFilenames[_compressionTools->_compressionToolChooserBox->_choice->GetSelection()];
- wxString compressionType = kCompressionTypeArguments[_compressionTools->_compressionTypeBox->_choice->GetSelection()];
- wxString inputPath = _compressionTools->_inputPanel->_text->GetValue();
- wxString outputPath = _compressionTools->_outputPanel->_text->GetValue();
-
- wxString avgBitrate = _compressionTools->_compressionOptionsPanel->_avgBitrateChooser->GetStringSelection();
- wxString blocksize = _compressionTools->_compressionOptionsPanel->_blockSize->GetStringSelection();
- wxString compressionLevel = _compressionTools->_compressionOptionsPanel->_compressionLevelChooser->GetStringSelection();
- wxString maxBitrate = _compressionTools->_compressionOptionsPanel->_maxBitrateChooser->GetStringSelection();
- wxString minBitrate = _compressionTools->_compressionOptionsPanel->_minBitrateChooser->GetStringSelection();
- wxString mode = _compressionTools->_compressionOptionsPanel->_modeChooser->GetStringSelection();
- wxString mpegQuality = _compressionTools->_compressionOptionsPanel->_mpegQualityChooser->GetStringSelection();
- bool isSilent = _compressionTools->_compressionOptionsPanel->_silentChooser->IsChecked();
- wxString vbrQuality = _compressionTools->_compressionOptionsPanel->_vbrQualityChooser->GetStringSelection();
- bool isVerify = _compressionTools->_compressionOptionsPanel->_verifyChooser->IsChecked();
-
- if (!inputPath.IsEmpty()) {
- wxString commandString = wxT("");
-
-#ifndef __WXMSW__
- commandString += wxT("./");
-#endif
- commandString += selectedTool;
- commandString += wxT(" ");
- commandString += compressionType;
- commandString += wxT(" ");
-
- if (compressionType.IsSameAs(kCompressionTypeArguments[0])) { /* MP3 */
- if (mode.IsSameAs(kMP3ModeNames[0])) { /* VBR */
- commandString += wxT("--vbr ");
- commandString += wxT("-V ");
- commandString += vbrQuality;
- commandString += wxT(" ");
- commandString += wxT("-q ");
- commandString += mpegQuality;
- commandString += wxT(" ");
-
- if (!minBitrate.IsSameAs(kValidBitrateNames[0])) {
- commandString += wxT("-b ");
- commandString += minBitrate;
- commandString += wxT(" ");
- }
-
- if (!maxBitrate.IsSameAs(kValidBitrateNames[0])) {
- commandString += wxT("-B ");
- commandString += maxBitrate;
- commandString += wxT(" ");
- }
- } else { /* ABR */
- commandString += wxT("--abr ");
-
- if (avgBitrate.IsSameAs(kValidBitrateNames[0])) {
- commandString += kDefaultMP3ABRAvgBitrate;
- } else {
- commandString += avgBitrate;
- }
-
- commandString += wxT(" ");
- commandString += wxT("-q ");
- commandString += mpegQuality;
- commandString += wxT(" ");
-
- if (!minBitrate.IsSameAs(kValidBitrateNames[0])) {
- commandString += wxT("-b ");
- commandString += minBitrate;
- commandString += wxT(" ");
- }
-
- if (!maxBitrate.IsSameAs(kValidBitrateNames[0])) {
- commandString += wxT("-B ");
- commandString += maxBitrate;
- commandString += wxT(" ");
- }
- }
-
- commandString += wxT("--silent ");
- } else if (compressionType.IsSameAs(kCompressionTypeArguments[1])) { /* Vorbis */
- commandString += wxT("-q ");
- commandString += vbrQuality;
- commandString += wxT(" ");
-
- if (!avgBitrate.IsSameAs(kValidBitrateNames[0])) {
- commandString += wxT("-b ");
- commandString += avgBitrate;
- commandString += wxT(" ");
- }
-
- if (!minBitrate.IsSameAs(kValidBitrateNames[0])) {
- commandString += wxT("-m ");
- commandString += minBitrate;
- commandString += wxT(" ");
- }
-
- if (!maxBitrate.IsSameAs(kValidBitrateNames[0])) {
- commandString += wxT("-M ");
- commandString += maxBitrate;
- commandString += wxT(" ");
- }
-
- if (isSilent) {
- commandString += wxT("--silent ");
- }
- } else { /* FLAC */
- commandString += wxT("-");
- commandString += compressionLevel;
- commandString += wxT(" ");
- commandString += wxT("-b ");
- commandString += blocksize;
- commandString += wxT(" ");
-
- if (isVerify) {
- commandString += wxT("--verify ");
- }
-
- if (isSilent) {
- commandString += wxT("--silent ");
- }
- }
-
- commandString += inputPath;
- if (!outputPath.IsEmpty()) {
- commandString += wxT(" ");
- commandString += outputPath;
- }
-
- _compressionTools->_toolOutput->AppendText(commandString);
- _compressionTools->_toolOutput->AppendText(wxT("\n\n"));
-
- Process *command = new Process(this, _compressionTools->_toolOutput);
- _processList.Add(command);
- wxExecute(commandString, wxEXEC_ASYNC, command);
- }
-}
-
-void MainFrame::OnExtractionStart(wxCommandEvent &event) {
- _extractionTools->_toolOutput->Clear();
-
- wxString selectedTool = kExtractionToolFilenames[_extractionTools->_extractionToolChooserPanel->_choice->GetSelection()];
- wxString input1Path = _extractionTools->_input1Panel->_text->GetValue();
- wxString input2Path = _extractionTools->_input2Panel->_text->GetValue();
- wxString outputPath = _extractionTools->_outputPanel->_text->GetValue();
-
- bool kyraAllFiles = _extractionTools->_extractionOptionsPanel->_kyraAllFiles->IsChecked();
- bool kyraAmiga = _extractionTools->_extractionOptionsPanel->_kyraAmiga->IsChecked();
- wxString kyraFilename = _extractionTools->_extractionOptionsPanel->_kyraFilename->GetValue();
- bool kyraSingleFile = _extractionTools->_extractionOptionsPanel->_kyraSingleFile->IsChecked();
- bool parallactionSmall = _extractionTools->_extractionOptionsPanel->_parallactionSmall->IsChecked();
-
- if (!input1Path.IsEmpty()) {
- wxString commandString = wxT("");
-
-#ifndef __WXMSW__
- commandString += wxT("./");
-#endif
- commandString += selectedTool;
- commandString += wxT(" ");
-
- if (kyraAllFiles) {
- commandString += wxT("-x ");
- }
-
- if (kyraAmiga) {
- commandString += wxT("-a ");
- }
-
- if (kyraSingleFile) {
- commandString += wxT("-o ");
- commandString += kyraFilename;
- commandString += wxT(" ");
- }
-
- if (parallactionSmall) {
- commandString += wxT("--small");
- }
-
- commandString += input1Path;
-
- if (!input2Path.IsEmpty()) {
- commandString += wxT(" ");
- commandString += input2Path;
- }
- if (!outputPath.IsEmpty()) {
- commandString += wxT(" ");
- commandString += outputPath;
- }
-
- _extractionTools->_toolOutput->AppendText(commandString);
- _extractionTools->_toolOutput->AppendText(wxT("\n\n"));
-
- Process *command = new Process(this, _extractionTools->_toolOutput);
- _processList.Add(command);
- wxExecute(commandString, wxEXEC_ASYNC, command);
- }
-}
-
-void MainFrame::OnIdle(wxIdleEvent& event) {
- for (size_t x = 0; x < _processList.GetCount(); x++) {
- if (_processList[x]->HasInput()) {
- event.RequestMore();
- }
-
- if (_processList[x]->HasInput()) {
- event.RequestMore();
- }
- }
-}
-
-void MainFrame::OnProcessTerminated(Process* process) {
- _processList.Remove(process);
-}
Deleted: tools/branches/gsoc2009-gui/tools_gui_old.h
===================================================================
--- tools/branches/gsoc2009-gui/tools_gui_old.h 2009-08-16 19:49:46 UTC (rev 43453)
+++ tools/branches/gsoc2009-gui/tools_gui_old.h 2009-08-17 00:15:30 UTC (rev 43454)
@@ -1,304 +0,0 @@
-/* tool_gui - GUI for all the tools
- * Copyright (C) 2007 The ScummVM Team
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- *
- */
-
-#include <wx/wx.h>
-#include <wx/dnd.h>
-#include <wx/notebook.h>
-#include <wx/process.h>
-#include <wx/txtstrm.h>
-
-class Process;
-class LocationDialog;
-#if wxUSE_DRAG_AND_DROP
-class FileDrop;
-#endif
-class IOChooser;
-class DropDownBox;
-class CompressionOptions;
-class CompressionPanel;
-class ExtractionOptions;
-class ExtractionPanel;
-class MainFrame;
-
-WX_DEFINE_ARRAY_PTR(Process *, ProcessArray);
-
-/* Default MP3 parameters */
-wxString kDefaultMP3ABRAvgBitrate = wxT("24");
-wxString kDefaultMP3CompressionType = wxT("VBR");
-wxString kDefaultMP3MpegQuality = wxT("2");
-wxString kDefaultMP3VBRMaxBitrate = wxT("64");
-wxString kDefaultMP3VBRMinBitrate = wxT("24");
-wxString kDefaultMP3VBRQuality = wxT("4");
-
-/* Default Vorbis parameters */
-wxString kDefaultOggQuality = wxT("3");
-
-/* Default FLAC parameters */
-wxString kDefaultFlacCompress = wxT("8");
-wxString kDefaultFlacBlocksize = wxT("1152");
-
-/* Compatibility with wx 2.6 */
-#if wxMAJOR_VERSION == 2 && wxMINOR_VERSION <= 6
-# define wxFD_OPEN wxOPEN
-# define wxFD_FILE_MUST_EXIST wxFILE_MUST_EXIST
-# define wxFD_MULTIPLE wxMULTIPLE
-#endif
-
-/* Options available in the UI
- * In most cases, the "Names" filled in here will directly be provided in the UI
- * For the fields that have two options, the second option will be the one
- * passed on as a command line option, in other cases the Name will be directly
- * passed
- */
-
-/* List of compression tools, name will display in UI */
-wxString kCompressionToolNames[12] = {wxT("AGOS"), wxT("Broken Sword 1"), wxT("Broken Sword 2"), wxT("Encode DXA"), wxT("Flight of the Amazon Queen"), wxT("Kyra"), wxT("SAGA"), wxT("SCUMM BUN"), wxT("SCUMM SAN"), wxT("SCUMM SOU"), wxT("Simon 2 (MAC)"), wxT("Touche")};
-/* Name of tool executable (position must match list above), .exe will be appended under Windows */
-wxString kCompressionToolFilenames[12] = {wxT("compress_agos"), wxT("compress_sword1"), wxT("compress_sword2"), wxT("encode_dxa"), wxT("compress_queen"), wxT("compress_kyra"), wxT("compress_saga"), wxT("compress_scumm_bun"), wxT("compress_scumm_san"), wxT("compress_scumm_sou"), wxT("compress_agos --mac"), wxT("compress_touche")};
-
-/* List of extraction tools, name will display in UI */
-wxString kExtractionToolNames[9] = {wxT("AGOS"), wxT("Kyra"), wxT("Loom (TG16)"), wxT("Maniac Mansion (Apple)"), wxT("Maniac Mansion (C64)"), wxT("Maniac Mansion (NES)"), wxT("Parallaction"), wxT("SCUMM (MAC)"), wxT("Zak McKracken (C64)")};
-/* Name of extraction executable */
-wxString kExtractionToolFilenames[9] = {wxT("extract_agos"), wxT("extract_kyra"), wxT("extract_loom_tg16"), wxT("extract_mm_apple"), wxT("extract_mm_c64"), wxT("extract_mm_nes"), wxT("extract_parallaction"), wxT("extract_scumm_mac"), wxT("extract_zak_c64")};
-
-/* List of possible audio codecs to use when compressing */
-wxString kCompressionTypeNames[3] = {wxT("MP3"), wxT("Vorbis"), wxT("FLAC")};
-/* The codecs respective CLI arguments */
-wxString kCompressionTypeArguments[3] = {wxT("--mp3"), wxT("--vorbis"), wxT("--flac")};
-
-/* List of possible bitrates, first entry is default (no argument will be if input equals it) */
-wxString kValidBitrateNames[21] = {wxT(""), wxT("8"), wxT("16"), wxT("24"), wxT("32"), wxT("40"), wxT("48"), wxT("56"), wxT("64"), wxT("72"), wxT("80"), wxT("88"), wxT("96"), wxT("104"), wxT("112"), wxT("120"), wxT("128"), wxT("136"), wxT("144"), wxT("152"), wxT("160")};
-
-/* VBR/MPEG quality options */
-wxString kVaildQualityNames[10] = {wxT("0"), wxT("1"), wxT("2"), wxT("3"), wxT("4"), wxT("5"), wxT("6"), wxT("7"), wxT("8"), wxT("9")};
-
-/* Compression level options */
-wxString kValidCompressionLevels[9] = {wxT("0"), wxT("1"), wxT("2"), wxT("3"), wxT("4"), wxT("5"), wxT("6"), wxT("7"), wxT("8")};
-
-/* Possible FLAC block sizes */
-wxString kValidFlacBlocksize[4] = {wxT("576"), wxT("1152"), wxT("2304"), wxT("4608")};
-
-/* Possible MP3 compression modes */
-wxString kMP3ModeNames[2] = {wxT("VBR"), wxT("ABR")};
-
-// Length of above fields
-#define kNumCompressionTools (sizeof kCompressionToolNames / sizeof *kCompressionToolNames)
-#define kNumExtractionTools (sizeof kExtractionToolNames / sizeof *kExtractionToolNames)
-#define kNumCompressionTypes (sizeof kCompressionTypeNames / sizeof *kCompressionTypeNames)
-#define kNumValidBitrates (sizeof kValidBitrateNames / sizeof *kValidBitrateNames)
-#define kNumValidQuality (sizeof kVaildQualityNames / sizeof *kVaildQualityNames)
-#define kNumValidCompressionLevels (sizeof kValidCompressionLevels / sizeof *kValidCompressionLevels)
-#define kNumValidFlacBlocksize (sizeof kValidFlacBlocksize / sizeof *kValidFlacBlocksize)
-#define kNumMP3Modes (sizeof kMP3ModeNames / sizeof *kMP3ModeNames)
-
-// Window IDs for the widgets in the tool
-// used for event handling
-enum kEventId {
- kCompressionToolChoice = wxID_HIGHEST,
- kCompressionTypeChoice,
- kCompressionModeChoice,
- kCompressionInputBrowse,
- kCompressionOutputBrowse,
- kCompressionOptionsToggle,
- kCompressionStartButton,
- kExtractionToolChoice,
- kExtractionInput1Browse,
- kExtractionInput2Browse,
- kExtractionOutputBrowse,
- kExtractionStartButton
-};
-
-
-class ToolsGui : public wxApp {
-public:
- virtual bool OnInit();
-};
-
-/* ----- Main Frame ----- */
-
-class MainFrame : public wxFrame {
-public:
- MainFrame(const wxString& title);
-
- wxNotebook *_mainNotebook;
- CompressionPanel *_compressionTools;
- ExtractionPanel *_extractionTools;
- ProcessArray _processList;
-
- void OnCompressionOptionsToggle(wxCommandEvent &event);
- void OnCompressionStart(wxCommandEvent &event);
- void OnExtractionStart(wxCommandEvent &event);
- void OnIdle(wxIdleEvent& event);
- void OnProcessTerminated(Process *process);
-
- DECLARE_EVENT_TABLE()
-};
-
-/* ----- Common ----- */
-
-/* A process with the additional functionality of redirectig output to a
- * target text control
- */
-class Process : public wxProcess {
-public:
- Process(MainFrame *parent, wxTextCtrl *target);
-
- MainFrame *_parent;
- wxTextCtrl *_target;
-
- virtual void OnTerminate(int pid, int status);
- virtual bool HasInput();
-};
-
-/* A wxFileDialog with a constructor argument for picking directories instead */
-class LocationDialog {
-public:
- LocationDialog(wxTextCtrl *target, bool isFileChooser, wxString wildcard);
-
- wxDialog *_dialog;
- wxTextCtrl *_target;
- bool _isFileChooser;
-
- void prompt();
-};
-
-/* Used to enable drag & drop ontop of the file picker control */
-#if wxUSE_DRAG_AND_DROP
-class FileDrop : public wxFileDropTarget {
-public:
- FileDrop(wxTextCtrl *target, bool isFileChooser);
-
- wxTextCtrl *_target;
- bool _isFileChooser;
-
- virtual bool OnDropFiles(wxCoord x, wxCoord y, const wxArrayString& filenames);
-};
-#endif
-
-/* This is just a wxFilePicker with the addition of a constructor
- * argument for picking directiories instead
- */
-class IOChooser : public wxPanel {
-public:
- IOChooser(wxWindow *parent, kEventId buttonId, wxString title, bool isFileChooser);
-
- wxTextCtrl *_text;
- wxButton *_browse;
- bool _isFileChooser;
-#if wxUSE_DRAG_AND_DROP
- FileDrop *_dropTarget;
-#endif
-};
-
-/* Very thin wrapper for a wxChoice, it's purpose being
- * constructor arguments rewrite and putting a frame
- * around the control.
- */
-class DropDownBox : public wxPanel {
-public:
- DropDownBox(wxWindow *parent, kEventId boxId, wxString title, int numItems, wxString items[]);
-
- wxChoice *_choice;
-};
-
-/* ----- Compression ----- */
-
-/* The compression options, a panel containing the controls
- * for controlling the output of the tools
- */
-class CompressionOptions : public wxPanel {
-public:
- CompressionOptions(wxWindow *parent);
-
- wxChoice *_minBitrateChooser;
- wxChoice *_avgBitrateChooser;
- wxChoice *_maxBitrateChooser;
- wxChoice *_vbrQualityChooser;
- wxChoice *_compressionLevelChooser;
- wxChoice *_mpegQualityChooser;
- wxChoice *_modeChooser;
- wxChoice *_blockSize;
- wxCheckBox *_verifyChooser;
- wxCheckBox *_silentChooser;
-
- void OnCompressionModeChange(wxCommandEvent &event);
-
- DECLARE_EVENT_TABLE()
-};
-
-/* Compression Panel (tab) */
-class CompressionPanel : public wxPanel {
-public:
- CompressionPanel(wxWindow *parent);
-
- DropDownBox *_compressionToolChooserBox;
- DropDownBox *_compressionTypeBox;
- wxCheckBox *_compressionOptionsChooser;
- IOChooser *_inputPanel;
- IOChooser *_outputPanel;
- CompressionOptions *_compressionOptionsPanel;
- wxButton *_startButton;
- wxTextCtrl *_toolOutput;
-
- void OnCompressionToolChange(wxCommandEvent &event);
- void OnCompressionTypeChange(wxCommandEvent &event);
- void OnCompressionInputBrowse(wxCommandEvent &event);
- void OnCompressionOutputBrowse(wxCommandEvent &event);
-
- DECLARE_EVENT_TABLE()
-};
-
-/* ----- Extraction ----- */
-
-/* Panel containing all the options for extracting */
-class ExtractionOptions : public wxPanel {
-public:
- ExtractionOptions(wxWindow *parent);
-
- wxCheckBox *_kyraAmiga;
- wxCheckBox *_kyraAllFiles;
- wxCheckBox *_kyraSingleFile;
- wxTextCtrl *_kyraFilename;
- wxCheckBox *_parallactionSmall;
-};
-
-/* Extraction Panel (tab) */
-class ExtractionPanel : public wxPanel {
-public:
- ExtractionPanel(wxWindow *parent);
-
- DropDownBox *_extractionToolChooserPanel;
- IOChooser *_input1Panel;
- IOChooser *_input2Panel;
- IOChooser *_outputPanel;
- ExtractionOptions *_extractionOptionsPanel;
- wxButton *_startButton;
- wxTextCtrl *_toolOutput;
-
- void OnExtractionToolChange(wxCommandEvent &event);
- void OnExtractionInput1Browse(wxCommandEvent &event);
- void OnExtractionInput2Browse(wxCommandEvent &event);
- void OnExtractionOutputBrowse(wxCommandEvent &event);
-
- DECLARE_EVENT_TABLE()
-};
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list