From 572881aa3129b16d732b61cc4ed25ff02d0e42f0 Mon Sep 17 00:00:00 2001 From: twanvl Date: Thu, 21 Dec 2006 19:54:42 +0000 Subject: [PATCH] enabled card rotation git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@135 0fc631ac-6414-0410-93d0-97cfa31319b6 --- src/gui/control/card_list.hpp | 2 ++ src/gui/set/cards_panel.cpp | 59 ++++++++++++++--------------------- 2 files changed, 26 insertions(+), 35 deletions(-) diff --git a/src/gui/control/card_list.hpp b/src/gui/control/card_list.hpp index d043663b..97f9b787 100644 --- a/src/gui/control/card_list.hpp +++ b/src/gui/control/card_list.hpp @@ -140,8 +140,10 @@ class CardListBase : public wxListView, public SetView { /// Store the column sizes in the settings void storeColumns(); + public: /// Open a dialog for selecting columns to be shown void selectColumns(); + private: // --------------------------------------------------- : Window events DECLARE_EVENT_TABLE(); diff --git a/src/gui/set/cards_panel.cpp b/src/gui/set/cards_panel.cpp index c615b902..37069ca7 100644 --- a/src/gui/set/cards_panel.cpp +++ b/src/gui/set/cards_panel.cpp @@ -128,10 +128,15 @@ void CardsPanel::onUpdateUI(wxUpdateUIEvent& ev) { switch (ev.GetId()) { case ID_CARD_PREV: ev.Enable(card_list->canSelectPrevious()); break; case ID_CARD_NEXT: ev.Enable(card_list->canSelectNext()); break; -/* case ID_CARD_ROTATE_0: ev.Check(editor->rotation.angle == 0); break; - case ID_CARD_ROTATE_90: ev.Check(editor->rotation.angle == 90); break; - case ID_CARD_ROTATE_180: ev.Check(editor->rotation.angle == 180); break; - case ID_CARD_ROTATE_270: ev.Check(editor->rotation.angle == 270); break;*/ + case ID_CARD_ROTATE_0: case ID_CARD_ROTATE_90: case ID_CARD_ROTATE_180: case ID_CARD_ROTATE_270: { + StyleSheetSettings& ss = settings.stylesheetSettingsFor(*set->stylesheetFor(card_list->getCard())); + int a = ev.GetId() == ID_CARD_ROTATE_0 ? 0 + : ev.GetId() == ID_CARD_ROTATE_90 ? 90 + : ev.GetId() == ID_CARD_ROTATE_180 ? 180 + : 270; + ev.Check(ss.card_angle() == a); + break; + } case ID_CARD_REMOVE: ev.Enable(set->cards.size() > 0); break; case ID_FORMAT_BOLD: case ID_FORMAT_ITALIC: case ID_FORMAT_SYMBOL: case ID_FORMAT_REMINDER: { if (focused_control(this) == ID_EDITOR) { @@ -157,42 +162,25 @@ void CardsPanel::onCommand(int id) { case ID_CARD_ADD: set->actions.add(new AddCardAction(*set)); break; - case ID_CARD_ROTATE: + case ID_CARD_REMOVE: set->actions.add(new RemoveCardAction(*set, card_list->getCard())); break; -/* case idCardRotate { - StyleSettings& ss = settings.styleSettingsFor(*editor->style); - ss.cardAngle = (ss.cardAngle + 90) % 360; - onRenderSettingsChange(); + case ID_CARD_ROTATE: + case ID_CARD_ROTATE_0: case ID_CARD_ROTATE_90: case ID_CARD_ROTATE_180: case ID_CARD_ROTATE_270: { + StyleSheetSettings& ss = settings.stylesheetSettingsFor(*set->stylesheetFor(card_list->getCard())); + ss.card_angle.assign( + id == ID_CARD_ROTATE ? (ss.card_angle() + 90) % 360 + : id == ID_CARD_ROTATE_0 ? 0 + : id == ID_CARD_ROTATE_90 ? 90 + : id == ID_CARD_ROTATE_180 ? 180 + : 270 + ); + //onRenderSettingsChange(); break; } - case idCardRotate0 { - StyleSettings& ss = settings.styleSettingsFor(*editor->style); - ss.cardAngle = 0; - onRenderSettingsChange(); - break; + case ID_SELECT_COLUMNS: { + card_list->selectColumns(); } - case idCardRotate90 { - StyleSettings& ss = settings.styleSettingsFor(*editor->style); - ss.cardAngle = 90; - onRenderSettingsChange(); - break; - } - case idCardRotate180 { - StyleSettings& ss = settings.styleSettingsFor(*editor->style); - ss.cardAngle = 180; - onRenderSettingsChange(); - break; - } - case idCardRotate270 { - StyleSettings& ss = settings.styleSettingsFor(*editor->style); - ss.cardAngle = 270; - onRenderSettingsChange(); - break; - } - case idSelectColumns { - cardList->selectColumns(); - }*/ case ID_FORMAT_BOLD: case ID_FORMAT_ITALIC: case ID_FORMAT_SYMBOL: case ID_FORMAT_REMINDER: { if (focused_control(this) == ID_EDITOR) { editor->doFormat(id); @@ -213,6 +201,7 @@ void CardsPanel::onAction(const Action& action, bool undo) { } void CardsPanel::onRenderSettingsChange() { + // TODO } // ----------------------------------------------------------------------------- : Clipboard