summaryrefslogtreecommitdiff
path: root/src/gui/windows/textcommandeditor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/windows/textcommandeditor.h')
-rw-r--r--src/gui/windows/textcommandeditor.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/gui/windows/textcommandeditor.h b/src/gui/windows/textcommandeditor.h
new file mode 100644
index 000000000..610b014d5
--- /dev/null
+++ b/src/gui/windows/textcommandeditor.h
@@ -0,0 +1,103 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2009 The Mana World Development Team
+ * Copyright (C) 2009-2010 Andrei Karas
+ * Copyright (C) 2011-2013 The ManaPlus developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GUI_TEXTCOMMANDEDITOR_H
+#define GUI_TEXTCOMMANDEDITOR_H
+
+#include "gui/widgets/window.h"
+
+#include <guichan/actionlistener.hpp>
+
+class Button;
+class DropDown;
+class IconsModal;
+class IntTextField;
+class Label;
+class MagicSchoolModel;
+class RadioButton;
+class TargetTypeModel;
+class TextCommand;
+class TextField;
+
+class TextCommandEditor final : public Window, public gcn::ActionListener
+{
+ public:
+ /**
+ * Constructor.
+ */
+ explicit TextCommandEditor(TextCommand *const command);
+
+ A_DELETE_COPY(TextCommandEditor)
+
+ /**
+ * Destructor.
+ */
+ ~TextCommandEditor();
+
+ void action(const gcn::ActionEvent &event) override;
+
+ void scheduleDelete() override;
+
+ private:
+ void showControls(const bool show);
+
+ void save();
+
+ void deleteCommand();
+
+ bool mIsMagicCommand;
+ TextCommand *mCommand;
+
+ RadioButton *mIsMagic;
+ RadioButton *mIsOther;
+ Label *mSymbolLabel;
+ TextField *mSymbolTextField;
+ Label *mCommandLabel;
+ TextField *mCommandTextField;
+
+ Label *mCommentLabel;
+ TextField *mCommentTextField;
+
+ TargetTypeModel *mTargetTypeModel;
+ Label *mTypeLabel;
+ DropDown *mTypeDropDown;
+ IconsModal *mIconsModal;
+ Label *mIconLabel;
+ DropDown *mIconDropDown;
+ Label *mManaLabel;
+ IntTextField *mManaField;
+ Label *mMagicLvlLabel;
+ IntTextField *mMagicLvlField;
+ MagicSchoolModel *mMagicSchoolModel;
+ Label *mSchoolLabel;
+ DropDown *mSchoolDropDown;
+ Label *mSchoolLvlLabel;
+ IntTextField *mSchoolLvlField;
+
+ Button *mCancelButton;
+ Button *mSaveButton;
+ Button *mDeleteButton;
+
+ bool mEnabledKeyboard;
+};
+
+#endif // GUI_TEXTCOMMANDEDITOR_H