OpenMW
|
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