My Project
D:/source/c++/Programme/sally/sally/sallyAPI/ListView.h
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 #pragma once
00029 #include "Define.h"
00030 #include "Form.h"
00031 #include <vector>
00032 #include "ListViewButton.h"
00033 #include "ListViewItem.h"
00034 #include "Box2DObject.h"
00035 #include "Scrollbar.h"
00036 
00037 #define LISTVIEW_ITEM_HEIGHT            CONTROL_HEIGHT
00038 #define LISTVIEW_ITEM_NO                        100
00039 #define LISTVIEW_ITEM_ACTION_NO         200
00040 
00041 namespace SallyAPI
00042 {
00043         namespace GUI
00044         {
00053 
00054                 class DLL_API_SALLY CListView :
00055                         public SallyAPI::GUI::CForm
00056                 {
00057                 protected:
00058                         std::map<int, SallyAPI::GUI::CListViewButton*>  m_mButtonItem;
00059                         std::map<int, SallyAPI::GUI::CListViewButton*>  m_mButtonAction;
00060                         std::vector<SallyAPI::GUI::CListViewItem*>              m_vItems;
00061                         int                                                                                             m_iActionGraphic;
00062                         std::vector<int>                                                                m_vPictureList;
00063                         SallyAPI::GUI::CScrollbar*                                              m_pScrollbar;
00064 
00065                         int                             m_iStartPicture;
00066                         int                             m_iCols;
00067                         int                             m_iRows;
00068                         int                             m_iActive;
00069                         bool                    m_bUseImageList;
00070                         b2World*                m_pb2World;
00071                         CBox2DObject*   m_pb2Object;
00072                         b2Body*                 m_pb2LeftBody;
00073                         b2Body*                 m_pb2RightBody;
00074                         int                             m_iOldPositionX;
00075                         int                             m_iOldPositionY;
00076                         
00077                         void    CreateListView();
00078                         void    ResetListView();
00079                         int             GetMaxItemStart();
00080 
00081                         bool    ResetBox2Object();
00082 
00083                         void    OnCommandScrollbarMoved(SallyAPI::GUI::CGUIBaseObject* reporter, SallyAPI::GUI::SendMessage::CParameterBase* messageParameter);
00084                         void    OnCommandDoubleclicked(int reporterId);
00085                         void    OnCommandMouseMove(SallyAPI::GUI::SendMessage::CParameterBase* messageParameter);
00086 
00087                         virtual void AddChild(SallyAPI::GUI::CControl* control);
00088                 public:
00089                         CListView(SallyAPI::GUI::CGUIBaseObject* parent, int x, int y, int width, int height, 
00090                                 int cols, int actionGraphic, std::vector<int>& pictureList, int controlId = 0);
00091                         CListView(SallyAPI::GUI::CGUIBaseObject* parent, int x, int y, int width, int height, 
00092                                 int cols, int actionGraphic, int controlId = 0);
00093                         virtual ~CListView();
00094 
00095                         int                     GetMaxDisplayedElements();
00096                         int                     GetListSize();
00097 
00098                         void            AddItem(SallyAPI::GUI::CListViewItem listItem);
00099                         bool            RemoveItem(int index);
00100 
00101                         void            UpdateView();
00102                         void            Clear();
00103                         std::vector<SallyAPI::GUI::CListViewItem*>*     GetListItems();
00104                         SallyAPI::GUI::CListViewItem*                           GetItem(int index);
00105 
00106                         void            SetActive(int index);
00107                         int                     GetActive();
00108 
00109                         int                     GetStartItem();
00110                         void            SetStartItem(int startItem);
00111 
00112                         void            SetPictureList(std::vector<int>& pictureList);
00113                         void            RemovePictureList();
00114                         void            SetActionImageId(int icon);
00115 
00116                         void            ShowScrollbarIfNotScrollable(bool value);
00117                         bool            IsScrollbarVisibleIfNotScrollbable();
00118 
00119                         virtual void SetAlphaBlending(int alphaBlending);
00120                         virtual bool CheckProcessMouseUp(int x, int y);
00121                         virtual bool CheckProcessMouseDown(int x, int y);
00122                         virtual void Enable(bool enable);
00123                         virtual void Timer(float timeDelta);
00124                         virtual void SendMessageToChilds(SallyAPI::GUI::CGUIBaseObject* reporter, int reporterId, int messageId, SallyAPI::GUI::SendMessage::CParameterBase* messageParameter = NULL);
00125                         virtual void SendMessageToParent(SallyAPI::GUI::CGUIBaseObject* reporter, int reporterId, int messageId, SallyAPI::GUI::SendMessage::CParameterBase* messageParameter = NULL);
00126                 };
00127         }
00128 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines