Planeshift

pawspetstatwindow.h

Go to the documentation of this file.
00001 /*
00002  * pawsskillwindow.h
00003  *
00004  * Copyright (C) 2003 Atomic Blue ([email protected], http://www.atomicblue.org)
00005  *
00006  *
00007  * This program is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU General Public License
00009  * as published by the Free Software Foundation (version 2 of the License)
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program; if not, write to the Free Software
00016  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00017  *
00018  */
00019 
00020 #ifndef PAWS_PET_STAT_WINDOW_HEADER
00021 #define PAWS_PET_STAT_WINDOW_HEADER
00022 
00023 #include "paws/pawswidget.h"
00024 class pawsTextBox;
00025 class pawsListBox;
00026 class pawsListBoxRow;
00027 class pawsMultiLineTextBox;
00028 class pawsProgressBar;
00029 class pawsObjectView;
00030 class psCharAppearance;
00031 
00032 #include "net/cmdbase.h"
00033 #include "gui/pawscontrolwindow.h"
00034 
00037 class pawsPetStatWindow : public pawsWidget, public psClientNetSubscriber
00038 {
00039 public:
00040 
00041     pawsPetStatWindow();
00042     virtual ~pawsPetStatWindow();
00043 
00044     bool PostSetup();
00045     virtual void HandleMessage(MsgEntry *msg);
00046     bool OnButtonPressed( int mouseButton, int keyModifier, pawsWidget* widget );
00047     void OnListAction( pawsListBox* listbox, int status );
00048     void Draw();
00049     virtual void Show();
00050     virtual void Hide();
00051     virtual void Close();
00052 
00053     void UpdateStats( GEMClientActor* actor );
00054     void SetTarget( GEMClientActor* actor );
00055 
00056 protected:
00057 
00058     bool SetupDoll();
00059 
00060     void BuySkill();
00061 
00062     void HandleSkillList( csString& skills );
00063     void HandleSkillDescription( csString& description );
00064     void SelectSkill(int skill);
00065 
00066     pawsListBox*        statsSkillList, *combatSkillList, *magicSkillList, *knownSpellList, *variousSkillList;
00067     pawsMultiLineTextBox* combatSkillDescription, *magicSkillDescription, *knownSpellDescription;
00068     pawsMultiLineTextBox* variousSkillDescription, *statsSkillDescription;
00069     pawsProgressBar*    hpBar, *manaBar, *pysStaminaBar, *menStaminaBar;
00070     pawsTextBox        *hpCurrent, *hpTotal,
00071                        *manaCurrent, *manaTotal,
00072                        *pysStaminaCurrent, *pysStaminaTotal,
00073                        *menStaminaCurrent, *menStaminaTotal;
00074 
00075     csArray<pawsListBoxRow*> unsortedSkills; 
00076 
00077     bool filter;
00078     csString skillString;
00079     csString selectedSkill;
00080 
00081     int hitpointsMax, manaMax, physStaminaMax, menStaminaMax;
00082 
00083     csRef<iDocumentSystem> xml;
00084 
00085     GEMClientActor* target;
00086     csString targetID;
00087     psCharAppearance* charApp;
00088 };
00089 
00090 CREATE_PAWS_FACTORY( pawsPetStatWindow );
00091 
00092 
00093 #endif
00094