mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-13 05:57:00 -04:00
actions for changing styles
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@141 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
@@ -77,3 +77,27 @@ void ReorderCardsAction::perform(bool to_undo) {
|
|||||||
assert(card_id2 < set.cards.size());
|
assert(card_id2 < set.cards.size());
|
||||||
swap(set.cards[card_id1], set.cards[card_id2]);
|
swap(set.cards[card_id1], set.cards[card_id2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------- : Change stylesheet
|
||||||
|
|
||||||
|
|
||||||
|
String ChangeCardStyleAction::getName(bool to_undo) const {
|
||||||
|
return _("Change style");
|
||||||
|
}
|
||||||
|
void ChangeCardStyleAction::perform(bool to_undo) {
|
||||||
|
swap(card->stylesheet, stylesheet);
|
||||||
|
}
|
||||||
|
|
||||||
|
String ChangeSetStyleAction::getName(bool to_undo) const {
|
||||||
|
return _("Change style (all cards)");
|
||||||
|
}
|
||||||
|
void ChangeSetStyleAction::perform(bool to_undo) {
|
||||||
|
if (!to_undo) {
|
||||||
|
stylesheet = set.stylesheet;
|
||||||
|
set.stylesheet = card->stylesheet;
|
||||||
|
card->stylesheet = StyleSheetP();
|
||||||
|
} else {
|
||||||
|
card->stylesheet = set.stylesheet;
|
||||||
|
set.stylesheet = stylesheet;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
class Set;
|
class Set;
|
||||||
DECLARE_POINTER_TYPE(Card);
|
DECLARE_POINTER_TYPE(Card);
|
||||||
|
DECLARE_POINTER_TYPE(StyleSheet);
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------- : Add card
|
// ----------------------------------------------------------------------------- : Add card
|
||||||
|
|
||||||
@@ -73,5 +74,36 @@ class ReorderCardsAction : public CardListAction {
|
|||||||
const size_t card_id1, card_id2; ///< Positions of the two cards to swap
|
const size_t card_id1, card_id2; ///< Positions of the two cards to swap
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------- : Change stylesheet
|
||||||
|
|
||||||
|
/// Changing the style of a a card
|
||||||
|
class ChangeCardStyleAction : public Action {
|
||||||
|
public:
|
||||||
|
ChangeCardStyleAction(const CardP& card, const StyleSheetP& stylesheet)
|
||||||
|
: card(card), stylesheet(stylesheet) {}
|
||||||
|
|
||||||
|
virtual String getName(bool to_undo) const;
|
||||||
|
virtual void perform(bool to_undo);
|
||||||
|
|
||||||
|
//private:
|
||||||
|
CardP card; ///< The affected card
|
||||||
|
StyleSheetP stylesheet; ///< Its new stylesheet
|
||||||
|
};
|
||||||
|
|
||||||
|
/// Changing the style of a set to that of a card
|
||||||
|
class ChangeSetStyleAction : public Action {
|
||||||
|
public:
|
||||||
|
ChangeSetStyleAction(Set& set, const CardP& card)
|
||||||
|
: set(set), card(card) {}
|
||||||
|
|
||||||
|
virtual String getName(bool to_undo) const;
|
||||||
|
virtual void perform(bool to_undo);
|
||||||
|
|
||||||
|
private:
|
||||||
|
Set& set; ///< The affected set
|
||||||
|
CardP card; ///< The card whos stylesheet is copied to the set
|
||||||
|
StyleSheetP stylesheet; ///< The old stylesheet of the set
|
||||||
|
};
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------- : EOF
|
// ----------------------------------------------------------------------------- : EOF
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user