[Scummvm-cvs-logs] SF.net SVN: scummvm:[42831] tools/branches/gsoc2009-gui
Remere at users.sourceforge.net
Remere at users.sourceforge.net
Mon Jul 27 05:01:07 CEST 2009
Revision: 42831
http://scummvm.svn.sourceforge.net/scummvm/?rev=42831&view=rev
Author: Remere
Date: 2009-07-27 03:01:06 +0000 (Mon, 27 Jul 2009)
Log Message:
-----------
*Added short help text to the GUI, displayed next to name of the tool in the CLI, and on the 'select tool' page in the GUI.
Modified Paths:
--------------
tools/branches/gsoc2009-gui/compress_agos.cpp
tools/branches/gsoc2009-gui/compress_gob.cpp
tools/branches/gsoc2009-gui/compress_kyra.cpp
tools/branches/gsoc2009-gui/compress_queen.cpp
tools/branches/gsoc2009-gui/compress_saga.cpp
tools/branches/gsoc2009-gui/compress_scumm_bun.cpp
tools/branches/gsoc2009-gui/compress_scumm_san.cpp
tools/branches/gsoc2009-gui/compress_scumm_sou.cpp
tools/branches/gsoc2009-gui/compress_sword1.cpp
tools/branches/gsoc2009-gui/compress_sword2.cpp
tools/branches/gsoc2009-gui/compress_tinsel.cpp
tools/branches/gsoc2009-gui/compress_touche.cpp
tools/branches/gsoc2009-gui/compress_tucker.cpp
tools/branches/gsoc2009-gui/encode_dxa.cpp
tools/branches/gsoc2009-gui/extract_agos.cpp
tools/branches/gsoc2009-gui/extract_gob_stk.cpp
tools/branches/gsoc2009-gui/extract_kyra.cpp
tools/branches/gsoc2009-gui/extract_scumm_mac.cpp
tools/branches/gsoc2009-gui/gui/gui_tools.cpp
tools/branches/gsoc2009-gui/gui/gui_tools.h
tools/branches/gsoc2009-gui/gui/pages.cpp
tools/branches/gsoc2009-gui/gui/pages.h
tools/branches/gsoc2009-gui/tool.cpp
tools/branches/gsoc2009-gui/tool.h
tools/branches/gsoc2009-gui/tools_cli.cpp
Modified: tools/branches/gsoc2009-gui/compress_agos.cpp
===================================================================
--- tools/branches/gsoc2009-gui/compress_agos.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/compress_agos.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -34,7 +34,8 @@
input.format = "*.*";
_inputPaths.push_back(input);
- _helptext = "\nUsage: %s [mode params] [--mac] [-o outfile] <infile>\n" kCompressionAudioHelp
+ _shorthelp = "Compresses Simon the Sorcer and Feeble Files data files.";
+ _helptext = "\nUsage: " + getName() + " [mode params] [--mac] [-o outfile] <infile>\n" kCompressionAudioHelp
}
void CompressAgos::end() {
Modified: tools/branches/gsoc2009-gui/compress_gob.cpp
===================================================================
--- tools/branches/gsoc2009-gui/compress_gob.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/compress_gob.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -43,8 +43,9 @@
input.format = "*.*";
_inputPaths.push_back(input);
+ _shorthelp = "Compresses Gobliiins! files data files.";
_helptext =
- "\nUsage: " + _name + " [-f] [-o <output> = out.stk] <conf file>\n"
+ "\nUsage: " + getName() + " [-f] [-o <output> = out.stk] <conf file>\n"
"<conf file> is a .gob file generated extract_gob_stk\n"
"<-f> ignores the compression flag in the .gob file and force compression for all files\n\n"
"The STK/ITK archive will be created in the current directory.\n";
Modified: tools/branches/gsoc2009-gui/compress_kyra.cpp
===================================================================
--- tools/branches/gsoc2009-gui/compress_kyra.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/compress_kyra.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -32,7 +32,8 @@
input.format = "*.*";
_inputPaths.push_back(input);
- _helptext = "\nUsage: " + _name + " [mode params] [-o outfile] <infile>\n" kCompressionAudioHelp;
+ _shorthelp = "Used to compress Legend of Kyrandia games.";
+ _helptext = "\nUsage: " + getName() + " [mode params] [-o outfile] <infile>\n" kCompressionAudioHelp;
}
void CompressKyra::execute() {
Modified: tools/branches/gsoc2009-gui/compress_queen.cpp
===================================================================
--- tools/branches/gsoc2009-gui/compress_queen.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/compress_queen.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -97,7 +97,8 @@
input.format = "queen.1";
_inputPaths.push_back(input);
- _helptext = "\nUsage: %s [mode] [mode params] [-o outputfile] <inputfile (queen.1)>\n" kCompressionAudioHelp;
+ _shorthelp = "Used to compress Flight of the Amazon Queen data files.";
+ _helptext = "\nUsage: " + getName() + " [mode] [mode params] [-o outputfile] <inputfile (queen.1)>\n" kCompressionAudioHelp;
}
const CompressQueen::GameVersion *CompressQueen::detectGameVersion(uint32 size) {
Modified: tools/branches/gsoc2009-gui/compress_saga.cpp
===================================================================
--- tools/branches/gsoc2009-gui/compress_saga.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/compress_saga.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -120,7 +120,8 @@
input.format = "*.*";
_inputPaths.push_back(input);
- _helptext = "\nUsage: %s [mode] [mode params] [-o outputfile = infile.cmp] <inputfile>\n" kCompressionAudioHelp;
+ _shorthelp = "Used to compress SAGA engine games such as Inherit the Earth.";
+ _helptext = "\nUsage: " + getName() +" [mode] [mode params] [-o outputfile = infile.cmp] <inputfile>\n" kCompressionAudioHelp;
}
bool CompressSaga::inspectInput(const Filename &filename) {
Modified: tools/branches/gsoc2009-gui/compress_scumm_bun.cpp
===================================================================
--- tools/branches/gsoc2009-gui/compress_scumm_bun.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/compress_scumm_bun.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -1074,7 +1074,8 @@
input.format = "*.bun";
_inputPaths.push_back(input);
- _helptext = "\nUsage: " + _name + " [mode] [mode-params] [-o outputfile = inputfile.bun] <inputfile>\n";
+ _shorthelp = "Used to compress the .bun data files from The Curse of Monkey Island games.";
+ _helptext = "\nUsage: " + getName() + " [mode] [mode-params] [-o outputfile = inputfile.bun] <inputfile>\n";
}
void CompressScummBun::execute() {
Modified: tools/branches/gsoc2009-gui/compress_scumm_san.cpp
===================================================================
--- tools/branches/gsoc2009-gui/compress_scumm_san.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/compress_scumm_san.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -582,8 +582,9 @@
input.format = "*.san";
_inputPaths.push_back(input);
+ _shorthelp = "Used to compress the .san smush files.";
// TODO: Feature set seems more limited than what kCompressionAudioHelp contains
- _helptext = "\nUsage: " + _name + " [mode] [mode-params] [-o outpufile = inputfile.san] <inputfile>\n" kCompressionAudioHelp;
+ _helptext = "\nUsage: " + getName() + " [mode] [mode-params] [-o outpufile = inputfile.san] <inputfile>\n" kCompressionAudioHelp;
}
void CompressScummSan::execute() {
Modified: tools/branches/gsoc2009-gui/compress_scumm_sou.cpp
===================================================================
--- tools/branches/gsoc2009-gui/compress_scumm_sou.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/compress_scumm_sou.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -135,7 +135,8 @@
input.format = "*.sou";
_inputPaths.push_back(input);
- _helptext = "\nUsage: " + _name + " [mode] [mode params] monster.sou\n" kCompressionAudioHelp;
+ _shorthelp = "Used to compress the .sou data files.";
+ _helptext = "\nUsage: " + getName() + " [mode] [mode params] monster.sou\n" kCompressionAudioHelp;
}
void CompressScummSou::execute() {
Modified: tools/branches/gsoc2009-gui/compress_sword1.cpp
===================================================================
--- tools/branches/gsoc2009-gui/compress_sword1.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/compress_sword1.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -573,7 +573,8 @@
input.format = "*.clu";
_inputPaths.push_back(input);
- _helptext = "\nUsage: %s [only] [mode] [mode params] [-o outputdir] <inputdir>\n"
+ _shorthelp = "Used to compress the Broken Sword 1 data files.";
+ _helptext = "\nUsage: " + getName() + " [only] [mode] [mode params] [-o outputdir] <inputdir>\n"
"only can be either:\n"
" --speech-only only encode speech clusters\n"
" --music-only only encode music files\n"
Modified: tools/branches/gsoc2009-gui/compress_sword2.cpp
===================================================================
--- tools/branches/gsoc2009-gui/compress_sword2.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/compress_sword2.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -56,7 +56,8 @@
input.format = "*.clu";
_inputPaths.push_back(input);
- _helptext = "\nUsage: " + _name + " [params] <file>\n\n" kCompressionAudioHelp;
+ _shorthelp = "Used to compress Broken Sword 2 data files.";
+ _helptext = "\nUsage: " + getName() + " [params] <file>\n\n" kCompressionAudioHelp;
}
void CompressSword2::execute() {
Modified: tools/branches/gsoc2009-gui/compress_tinsel.cpp
===================================================================
--- tools/branches/gsoc2009-gui/compress_tinsel.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/compress_tinsel.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -58,7 +58,8 @@
input2.format = "*.idx";
_inputPaths.push_back(input2);
- _helptext = "\nUsage: " + _name + " [mode-params] [-o outputname] <infile.smp> <infile.idx>\n" + kCompressionAudioHelp;
+ _shorthelp = "Used to compress tinsel .smp files.";
+ _helptext = "\nUsage: " + getName() + " [mode-params] [-o outputname] <infile.smp> <infile.idx>\n" + kCompressionAudioHelp;
}
/* Converts raw-data sample in input_smp of size SampleSize to requested dataformat and writes to output_smp */
Modified: tools/branches/gsoc2009-gui/compress_touche.cpp
===================================================================
--- tools/branches/gsoc2009-gui/compress_touche.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/compress_touche.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -45,7 +45,8 @@
input.format = "/";
_inputPaths.push_back(input);
- _helptext = "\nUsage: %s [params] [-o outputfile TOUCHE.*] <inputdir>\n* differs with compression type.\n" kCompressionAudioHelp;
+ _shorthelp = "Used to compress Touche speech files (Vxxx and OBJ).";
+ _helptext = "\nUsage: " + getName() + " [params] [-o outputfile TOUCHE.*] <inputdir>\n* differs with compression type.\n" kCompressionAudioHelp;
}
uint32 CompressTouche::compress_sound_data_file(uint32 current_offset, File &output, File &input, uint32 *offs_table, uint32 *size_table, int len) {
Modified: tools/branches/gsoc2009-gui/compress_tucker.cpp
===================================================================
--- tools/branches/gsoc2009-gui/compress_tucker.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/compress_tucker.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -46,7 +46,8 @@
input.format = "/";
_inputPaths.push_back(input);
- _helptext = "\nUsage: %s [mode params] [-o outputdir] inputdir\n";
+ _shorthelp = "Used to compress the tucker data files.";
+ _helptext = "\nUsage: " + getName() + " [mode params] [-o outputdir] inputdir\n";
}
int CompressTucker::append_compress_file(File &output) {
Modified: tools/branches/gsoc2009-gui/encode_dxa.cpp
===================================================================
--- tools/branches/gsoc2009-gui/encode_dxa.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/encode_dxa.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -541,8 +541,9 @@
input.format = "*.*";
_inputPaths.push_back(input);
+ _shorthelp = "Used to create DXA files from extracted Smacker archives.";
_helptext =
- "Usage: " + _name + " [mode] [mode-params] [-o outpufile = inputfile.san] <inputfile>\n" +
+ "Usage: " + getName() + " [mode] [mode-params] [-o outpufile = inputfile.san] <inputfile>\n" +
"Output will be two files, one with .dxa extension and the other depending on the used audio codec."
+ kCompressionAudioHelp;
}
Modified: tools/branches/gsoc2009-gui/extract_agos.cpp
===================================================================
--- tools/branches/gsoc2009-gui/extract_agos.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/extract_agos.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -34,7 +34,8 @@
input.format = "*.*";
_inputPaths.push_back(input);
- _helptext = "\nUsage: " + _name + " [-o outputname] infilename\n";
+ _shorthelp = "Used to extract Simon the Sorcer and Feeble Files data files.";
+ _helptext = "\nUsage: " + getName() + " [-o outputname] infilename\n" + _shorthelp + "\n";
}
// Run the actual tool
Modified: tools/branches/gsoc2009-gui/extract_gob_stk.cpp
===================================================================
--- tools/branches/gsoc2009-gui/extract_gob_stk.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/extract_gob_stk.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -45,7 +45,8 @@
input.format = "*.stk";
_inputPaths.push_back(input);
- _helptext = "\nUsage: " + _name + " [-o outputname] infilename\n";
+ _shorthelp = "Used to extract the contents of Gobliiins! .STK files.";
+ _helptext = "\nUsage: " + getName() + " [-o outputname] infilename\n";
}
ExtractGobStk::~ExtractGobStk() {
Modified: tools/branches/gsoc2009-gui/extract_kyra.cpp
===================================================================
--- tools/branches/gsoc2009-gui/extract_kyra.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/extract_kyra.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -37,8 +37,10 @@
input.format = "*.*";
_inputPaths.push_back(input);
+ _shorthelp = "Used to extract The Legend of Kyrandia series data file contents.";
_helptext =
- "Usage: " + _name + "[params] [-o output] <archivefile> [-o output]\n" +
+ "Usage: " + getName() + "[params] [-o output] <archivefile> [-o output]\n" +
+ _shorthelp + "\n" +
"Default output path is ./out/\n" +
"nParams:\n" +
"-e <filename> Extract only <filename> from the archive, will be extracted \n" +
Modified: tools/branches/gsoc2009-gui/extract_scumm_mac.cpp
===================================================================
--- tools/branches/gsoc2009-gui/extract_scumm_mac.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/extract_scumm_mac.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -32,10 +32,11 @@
input.format = "*.*";
_inputPaths.push_back(input);
+ _shorthelp = "Extract data from Lucas Art CDs, sometimes the CD appears to only hold an \n"
+ "application but there is a hidden data file.";
_helptext =
- "\nUsage: " + _name + " [-o <output dir> = out/] <file>\n"
- "\tSome Lucas Arts CDs appear to contains only an application.\n"
- "\tThey actually contain a seperate data file as a hidden file.\n";
+ "\nUsage: " + _name + " [-o <output dir> = out/] <file>\n" +
+ _shorthelp + "\n";
}
void ExtractScummMac::execute() {
Modified: tools/branches/gsoc2009-gui/gui/gui_tools.cpp
===================================================================
--- tools/branches/gsoc2009-gui/gui/gui_tools.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/gui/gui_tools.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -121,6 +121,10 @@
return wxString(_backend->getHelp().c_str(), wxConvUTF8);
}
+wxString ToolGUI::getShortHelp() const {
+ return wxString(_backend->getShortHelp().c_str(), wxConvUTF8);
+}
+
ToolType ToolGUI::getType() const {
return _backend->getType();
}
Modified: tools/branches/gsoc2009-gui/gui/gui_tools.h
===================================================================
--- tools/branches/gsoc2009-gui/gui/gui_tools.h 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/gui/gui_tools.h 2009-07-27 03:01:06 UTC (rev 42831)
@@ -89,6 +89,11 @@
wxString getHelp() const;
/**
+ * Returns the short version of the helptext, much more suitable for the GUI
+ */
+ wxString getShortHelp() const;
+
+ /**
* Returns the type of the tool
*/
ToolType getType() const;
Modified: tools/branches/gsoc2009-gui/gui/pages.cpp
===================================================================
--- tools/branches/gsoc2009-gui/gui/pages.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/gui/pages.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -186,20 +186,34 @@
wxT("Select what tool you'd like to use.")));
choices = g_tools.getToolList(TOOLTYPE_ALL);
}
+ wxString toolname = choices.front();
sizer->AddSpacer(20);
wxChoice *tool = new wxChoice(panel, wxID_ANY, wxDefaultPosition, wxDefaultSize,
choices, 0, wxDefaultValidator, wxT("ToolSelection"));
+
+ tool->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(ChooseToolPage::onChangeTool), NULL, this);
+ tool->SetClientData(tool);
+
sizer->Add(tool);
tool->SetSelection(0);
+ sizer->AddSpacer(20);
+
+ wxStaticText *text = new wxStaticText(panel, wxID_ANY, wxT(""), wxDefaultPosition, wxDefaultSize, 0, wxT("ToolText"));
+ sizer->Add(text);
+
SetAlignedSizer(panel, sizer);
// Load configuration
- if (_configuration.selectedTool != NULL)
- tool->SetStringSelection(_configuration.selectedTool->getName());
+ const ToolGUI *selected = _configuration.selectedTool;
+ if (selected == NULL)
+ selected = g_tools.get(tool->GetStringSelection());
+ tool->SetStringSelection(selected->getName());
+ text->SetLabel(selected->getShortHelp());
+
return panel;
}
@@ -219,6 +233,14 @@
switchPage(new ChooseOutPage(_topframe));
}
+void ChooseToolPage::onChangeTool(wxCommandEvent &evt) {
+ wxChoice *tool = dynamic_cast<wxChoice *>(evt.GetEventObject());
+ wxStaticText *text = dynamic_cast<wxStaticText *>(tool->GetParent()->FindWindowByName(wxT("ToolText")));
+
+ text->SetLabel(g_tools[tool->GetStringSelection()].getShortHelp());
+ //text->Wrap(text->GetParent()->GetSize().GetWidth());
+}
+
// Common base class for the IO pages
ChooseIOPage::ChooseIOPage(ScummToolsFrame *frame)
Modified: tools/branches/gsoc2009-gui/gui/pages.h
===================================================================
--- tools/branches/gsoc2009-gui/gui/pages.h 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/gui/pages.h 2009-07-27 03:01:06 UTC (rev 42831)
@@ -161,6 +161,8 @@
void save(wxWindow *panel);
+ void onChangeTool(wxCommandEvent &evt);
+
protected:
wxArrayString _options;
};
Modified: tools/branches/gsoc2009-gui/tool.cpp
===================================================================
--- tools/branches/gsoc2009-gui/tool.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/tool.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -275,6 +275,15 @@
return _helptext;
}
+std::string Tool::getShortHelp() const {
+ if (_shorthelp.empty()) {
+ if (getHelp().size() && getHelp()[0] == '\n')
+ return getHelp().substr(1);
+ return getHelp();
+ }
+ return _shorthelp;
+}
+
ToolType Tool::getType() const {
return _type;
}
Modified: tools/branches/gsoc2009-gui/tool.h
===================================================================
--- tools/branches/gsoc2009-gui/tool.h 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/tool.h 2009-07-27 03:01:06 UTC (rev 42831)
@@ -104,6 +104,9 @@
/** Returns the helpstring of the tool */
std::string getHelp() const;
+ /** Returns the helpstring of the tool */
+ std::string getShortHelp() const;
+
/** Returns the type of the tool */
ToolType getType() const;
@@ -203,6 +206,8 @@
ToolType _type;
/** The text to display to help the user. */
std::string _helptext;
+ /** The text to display to help the user. */
+ std::string _shorthelp;
/** Status of internal abort flag, if set, next call to *Progress will throw */
bool _abort;
Modified: tools/branches/gsoc2009-gui/tools_cli.cpp
===================================================================
--- tools/branches/gsoc2009-gui/tools_cli.cpp 2009-07-26 23:49:53 UTC (rev 42830)
+++ tools/branches/gsoc2009-gui/tools_cli.cpp 2009-07-27 03:01:06 UTC (rev 42831)
@@ -138,9 +138,10 @@
}
void ToolsCLI::printTools() {
+ std::cout << "\nAll available tools:\n";
for (ToolList::iterator tool = _tools.begin(); tool != _tools.end(); ++tool)
// There *really* should be a short version of the help text available
- std::cout << "\t" << (*tool)->getName() << ": " << (*tool)->getHelp() << "\n";
+ std::cout << "\t" << (*tool)->getName() << ":\t" << (*tool)->getShortHelp() << "\n";
}
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