combined_editor function, and improved dependency handling (removing duplicates), viewer refreshes on events from script manager

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@147 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
twanvl
2006-12-22 19:05:52 +00:00
parent 7ba562ea2e
commit cf39deec24
20 changed files with 220 additions and 30 deletions
+12
View File
@@ -134,4 +134,16 @@ void DataViewer::onAction(const Action& action, bool undone) {
}
}
}
TYPE_CASE(action, ScriptValueEvent) {
if (action.card == card.get()) {
FOR_EACH(v, viewers) {
if (v->getValue().get() == action.value) {
// refresh the viewer
v->onAction(action, undone);
onChange();
return;
}
}
}
}
}
+2 -2
View File
@@ -16,7 +16,7 @@
class Set;
class DataViewer;
class ValueAction;
class Action;
DECLARE_POINTER_TYPE(Style);
DECLARE_POINTER_TYPE(Value);
@@ -55,7 +55,7 @@ class ValueViewer {
/// Called when a (scripted) property of the associated style has changed
virtual void onStyleChange() {}
/// Called when an action is performed on the associated value
virtual void onAction(const ValueAction&, bool undone) { onValueChange(); }
virtual void onAction(const Action&, bool undone) { onValueChange(); }
/// Convert this viewer to an editor, if possible
virtual ValueEditor* getEditor() { return 0; }