rotation and style changing works

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@144 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
twanvl
2006-12-22 15:08:49 +00:00
parent 5a8febd82a
commit 274cb1117f
14 changed files with 82 additions and 52 deletions
+1 -4
View File
@@ -20,10 +20,7 @@ CardViewer::CardViewer(Window* parent, int id, long style)
wxSize CardViewer::DoGetBestSize() const {
wxSize ws = GetSize(), cs = GetClientSize();
if (set) {
StyleSheetP stylesheet = set->stylesheetFor(card);
if (stylesheet) {
return wxSize(stylesheet->card_width, stylesheet->card_height) + ws - cs;
}
return (wxSize)getRotation().getExternalSize() + ws - cs;
}
return cs;
}
+2 -2
View File
@@ -91,7 +91,7 @@ SetInfoEditor::SetInfoEditor(Window* parent, int id, long style)
{}
void SetInfoEditor::onChangeSet() {
setStyles(set->stylesheet->set_info_style);
setStyles(set->stylesheet, set->stylesheet->set_info_style);
setData(set->data);
}
@@ -103,7 +103,7 @@ StylingEditor::StylingEditor(Window* parent, int id, long style)
void StylingEditor::showStylesheet(const StyleSheetP& stylesheet) {
this->stylesheet = stylesheet;
setStyles(stylesheet->styling_style);
setStyles(set->stylesheet, stylesheet->styling_style);
setData(set->stylingDataFor(*stylesheet));
}
+1 -1
View File
@@ -56,7 +56,7 @@ void TextCtrl::setValue(String* value) {
// assign to this control
IndexMap<FieldP,StyleP> styles; styles.add(field, style);
IndexMap<FieldP,ValueP> values; values.add(field, value);
setStyles(styles);
setStyles(set->stylesheet, styles);
setData(values);
// determine required height
viewers.front()->getEditor()->determineSize();
+9 -3
View File
@@ -175,7 +175,7 @@ void CardsPanel::onCommand(int id) {
: id == ID_CARD_ROTATE_180 ? 180
: 270
);
//onRenderSettingsChange();
set->actions.tellListeners(DisplayChangeAction(),true);
break;
}
case ID_SELECT_COLUMNS: {
@@ -196,8 +196,13 @@ bool CardsPanel::wantsToHandle(const Action&, bool undone) const {
return false;
}
void CardsPanel::onAction(const Action& action, bool undo) {
// TODO
void CardsPanel::onAction(const Action& action, bool undone) {
TYPE_CASE_(action, DisplayChangeAction) {
// The style changed, maybe also the size of editor
Layout();
//if (current_panel) current_panel->Layout();
//fixMinWindowSize();
}
}
void CardsPanel::onRenderSettingsChange() {
@@ -224,4 +229,5 @@ void CardsPanel::selectCard(const CardP& card) {
card_list->setCard(card);
editor->setCard(card);
notes->setValue(card ? &card->notes : nullptr);
Layout();
}
+2
View File
@@ -83,11 +83,13 @@ void StylePanel::onStyleSelect(wxCommandEvent&) {
stylesheet = StyleSheetP();
}
set->actions.add(new ChangeCardStyleAction(card, stylesheet));
Layout();
}
}
void StylePanel::onUseForAll(wxCommandEvent&) {
set->actions.add(new ChangeSetStyleAction(*set, card));
Layout();
}
BEGIN_EVENT_TABLE(StylePanel, wxPanel)
+10 -12
View File
@@ -27,6 +27,7 @@
#include <data/card.hpp>
#include <data/settings.hpp>
#include <data/format/formats.hpp>
#include <data/action/set.hpp>
DECLARE_TYPEOF_COLLECTION(SetWindowPanel*);
DECLARE_TYPEOF_COLLECTION(SetWindow*);
@@ -231,11 +232,11 @@ void SetWindow::onChangeSet() {
}
void SetWindow::onAction(const Action& action, bool undone) {
// TYPE_CASE_(action, SetStyleChange) {
// // The style changed, maybe also the size of the viewer
// Layout();
// fixMinWindowSize();
// }
TYPE_CASE_(action, DisplayChangeAction) {
// The style changed, maybe also the size of card viewers
if (current_panel) current_panel->Layout();
fixMinWindowSize();
}
}
@@ -517,13 +518,10 @@ void SetWindow::onReplaceAll(wxFindDialogEvent&) {
void SetWindow::onEditPreferences(wxCommandEvent&) {
PreferencesWindow wnd(this);
wnd.ShowModal();
// if (wnd.ShowModal() == wxID_OK) {
// // render settings may have changed, notify all windows
// FOR_EACH(m, setWindows) {
// m->onRenderSettingsChange();
// }
// }
if (wnd.ShowModal() == wxID_OK) {
// render settings may have changed, notify all windows
set->actions.tellListeners(DisplayChangeAction(),true);
}
}