[Scummvm-cvs-logs] SF.net SVN: scummvm:[50985] scummvm/branches/gsoc2010-testbed/engines/ testbed
sud03r at users.sourceforge.net
sud03r at users.sourceforge.net
Sun Jul 18 11:34:33 CEST 2010
Revision: 50985
http://scummvm.svn.sourceforge.net/scummvm/?rev=50985&view=rev
Author: sud03r
Date: 2010-07-18 09:34:31 +0000 (Sun, 18 Jul 2010)
Log Message:
-----------
Selected entries are now marked as '(selected)', toggled by double click
Modified Paths:
--------------
scummvm/branches/gsoc2010-testbed/engines/testbed/config.cpp
scummvm/branches/gsoc2010-testbed/engines/testbed/config.h
Modified: scummvm/branches/gsoc2010-testbed/engines/testbed/config.cpp
===================================================================
--- scummvm/branches/gsoc2010-testbed/engines/testbed/config.cpp 2010-07-18 09:08:18 UTC (rev 50984)
+++ scummvm/branches/gsoc2010-testbed/engines/testbed/config.cpp 2010-07-18 09:34:31 UTC (rev 50985)
@@ -32,9 +32,7 @@
_testbedConfMan = tsConfMan;
new GUI::StaticTextWidget(this, "Browser.Headline", "Select Testsuites to Execute");
- new GUI::StaticTextWidget(this, "Browser.Path", "Selected entries shown in dark, click to select");
- _testListDisplay = new TestbedListWidget(this, "Browser.List");
- _testListDisplay->setNumberingMode(GUI::kListNumberingOff);
+ new GUI::StaticTextWidget(this, "Browser.Path", "Use Double click to select / deselect");
// Construct a String Array
Common::Array<Testsuite *>::const_iterator iter;
@@ -45,8 +43,13 @@
_colors.push_back(GUI::ThemeEngine::kFontColorAlternate);
}
+ _testListDisplay = new TestbedListWidget(this, "Browser.List", _testSuiteDescArray);
+ _testListDisplay->setNumberingMode(GUI::kListNumberingOff);
_testListDisplay->setList(_testSuiteDescArray, &_colors);
+ // This list shouldn't be editable
+ _testListDisplay->setEditable(false);
+
new GUI::ButtonWidget(this, "Browser.Up", "Select All", kTestbedSelectAll, 0);
new GUI::ButtonWidget(this, "Browser.Cancel", "Continue", GUI::kCloseCmd);
// XXX: Add more commands for this
@@ -58,7 +61,7 @@
void TestbedOptionsDialog::handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) {
Testsuite *ts;
switch (cmd) {
- case kSelectionToggle:
+ case GUI::kListItemDoubleClickedCmd:
ts = _testbedConfMan->getTestsuiteByName(_testSuiteArray[_testListDisplay->getSelected()]);
if (ts) {
ts->enable(!ts->isEnabled());
Modified: scummvm/branches/gsoc2010-testbed/engines/testbed/config.h
===================================================================
--- scummvm/branches/gsoc2010-testbed/engines/testbed/config.h 2010-07-18 09:08:18 UTC (rev 50984)
+++ scummvm/branches/gsoc2010-testbed/engines/testbed/config.h 2010-07-18 09:34:31 UTC (rev 50985)
@@ -30,16 +30,15 @@
#include "common/str-array.h"
#include "common/tokenizer.h"
+#include "gui/ListWidget.h"
#include "gui/options.h"
#include "gui/ThemeEngine.h"
-#include "gui/ListWidget.h"
#include "testbed/testsuite.h"
namespace Testbed {
enum {
- kSelectionToggle = 'Tgle',
kTestbedQuitCmd = 'Quit',
kTestbedSelectAll = 'sAll'
};
@@ -59,23 +58,26 @@
class TestbedListWidget : public GUI::ListWidget {
public:
- TestbedListWidget(GUI::Dialog *boss, const Common::String &name) : GUI::ListWidget(boss, name){}
- void handleMouseUp(int x, int y, int button, int clickCount) {
- // If the mouse is clicked once, toggle the selection as it happens in checkboxes.
- sendCommand(kSelectionToggle, _selectedItem);
- }
+ TestbedListWidget(GUI::Dialog *boss, const Common::String &name, Common::StringArray &tsDescArr) : GUI::ListWidget(boss, name), _testSuiteDescArray(tsDescArr) {}
void changeColor() {
// Using Font Color Mechanism to highlight selected entries.
- // Might not be detectable in some cases
+ // Might not be detectable with some themes
if (_listColors.size() >= 2) {
if (GUI::ThemeEngine::kFontColorNormal == _listColors[_selectedItem]) {
_listColors[_selectedItem] = GUI::ThemeEngine::kFontColorAlternate;
} else if (GUI::ThemeEngine::kFontColorAlternate == _listColors[_selectedItem]) {
_listColors[_selectedItem] = GUI::ThemeEngine::kFontColorNormal;
}
- draw();
}
+
+ // Also append (selected) to each selected entry
+ if (_list[_selectedItem].contains("selected")) {
+ _list[_selectedItem] = _testSuiteDescArray[_selectedItem];
+ } else {
+ _list[_selectedItem] += " (selected)";
+ }
+ draw();
}
void setColorAll(GUI::ThemeEngine::FontColor color) {
@@ -91,6 +93,8 @@
draw();
}
+private:
+ const Common::StringArray _testSuiteDescArray;
};
class TestbedOptionsDialog : public GUI::Dialog {
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