OpenMW
apps/openmw/mwgui/enchantingdialog.hpp
Go to the documentation of this file.
00001 #ifndef MWGUI_ENCHANTINGDIALOG_H
00002 #define MWGUI_ENCHANTINGDIALOG_H
00003 
00004 #include "spellcreationdialog.hpp"
00005 
00006 #include "../mwbase/windowmanager.hpp"
00007 
00008 #include "../mwmechanics/enchanting.hpp"
00009 
00010 namespace MWGui
00011 {
00012 
00013     class ItemSelectionDialog;
00014 
00015     class EnchantingDialog : public WindowBase, public ReferenceInterface, public EffectEditorBase
00016     {
00017     public:
00018         EnchantingDialog();
00019         virtual ~EnchantingDialog();
00020 
00021         virtual void open();
00022         void startEnchanting(MWWorld::Ptr actor);
00023         void startSelfEnchanting(MWWorld::Ptr soulgem);
00024 
00025     protected:
00026         virtual void onReferenceUnavailable();
00027         virtual void notifyEffectsChanged ();
00028 
00029         void onCancelButtonClicked(MyGUI::Widget* sender);
00030         void onSelectItem (MyGUI::Widget* sender);
00031         void onSelectSoul (MyGUI::Widget* sender);
00032         void onRemoveItem (MyGUI::Widget* sender);
00033         void onRemoveSoul (MyGUI::Widget* sender);
00034 
00035         void onItemSelected(MWWorld::Ptr item);
00036         void onItemCancel();
00037         void onSoulSelected(MWWorld::Ptr item);
00038         void onSoulCancel();
00039         void onBuyButtonClicked(MyGUI::Widget* sender);
00040         void updateLabels();
00041         void onTypeButtonClicked(MyGUI::Widget* sender);
00042 
00043         ItemSelectionDialog* mItemSelectionDialog;
00044 
00045         MyGUI::Button* mCancelButton;
00046         MyGUI::ImageBox* mItemBox;
00047         MyGUI::ImageBox* mSoulBox;
00048 
00049         MyGUI::Button* mTypeButton;
00050         MyGUI::Button* mBuyButton;
00051 
00052         MyGUI::TextBox* mName;
00053         MyGUI::TextBox* mEnchantmentPoints;
00054         MyGUI::TextBox* mCastCost;
00055         MyGUI::TextBox* mCharge;
00056         MyGUI::TextBox* mPrice;
00057         MyGUI::TextBox* mPriceText;
00058 
00059         MWMechanics::Enchanting mEnchanting;
00060         ESM::EffectList mEffectList;
00061     };
00062 
00063 }
00064 
00065 #endif