| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- /*
- ** Command & Conquer Generals Zero Hour(tm)
- ** Copyright 2025 Electronic Arts Inc.
- **
- ** 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 3 of the License, or
- ** (at your option) 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/>.
- */
- #if !defined(AFX_PICKUNITDIALOG_H__B4C16E7D_FEED_472B_95FC_496D4C9006F5__INCLUDED_)
- #define AFX_PICKUNITDIALOG_H__B4C16E7D_FEED_472B_95FC_496D4C9006F5__INCLUDED_
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- // PickUnitDialog.h : header file
- //
- #include "Common/AsciiString.h"
- #include "Common/ThingSort.h"
- #define BUILD_PICK_PANEL_SECTION "PickUnitWindow"
- class MapObject;
- class ThingTemplate;
- /////////////////////////////////////////////////////////////////////////////
- // PickUnitDialog dialog
- class PickUnitDialog : public CDialog
- {
- protected:
- enum { NAME_MAX_LEN = 64 };
- void addObject( MapObject *mapObject, const char *pPath, Int index, HTREEITEM parent );
- HTREEITEM findOrAdd(HTREEITEM parent, const char *pLabel);
- Int m_currentObjectIndex;
- char m_currentObjectName[NAME_MAX_LEN];
- CTreeCtrl m_objectTreeView;
- MapObject *m_objectsList;
- Bool m_allowable[ES_NUM_SORTING_TYPES];
- Bool m_factionOnly;
- // Construction
- public:
- PickUnitDialog(CWnd* pParent = NULL); // standard constructor
- PickUnitDialog(UINT id, CWnd* pParent = NULL); // standard constructor
- ~PickUnitDialog(void); ///< standard destructor
- // Dialog Data
- //{{AFX_DATA(PickUnitDialog)
- enum { IDD = IDD_PICKUNIT };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(PickUnitDialog)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);
- //}}AFX_VIRTUAL
- // Implementation
- protected:
- // Generated message map functions
- //{{AFX_MSG(PickUnitDialog)
- virtual BOOL OnInitDialog();
- afx_msg void OnMove(int x, int y);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- public:
- AsciiString getPickedUnit(void);
- Bool IsAllowableType(EditorSortingType sort, Bool isBuildable);
- void SetAllowableType(EditorSortingType sort);
- const ThingTemplate* getPickedThing(void);
- void SetFactionOnly(Bool faction) {m_factionOnly = faction;}
- void SetupAsPanel(void);
- };
- class ReplaceUnitDialog : public PickUnitDialog
- {
- public:
- ReplaceUnitDialog(CWnd* pParent = NULL); // standard constructor
- void setMissing(AsciiString name) {m_missingName = name;};
- protected:
- // Generated message map functions
- //{{AFX_MSG(ReplaceUnitDialog)
- virtual BOOL OnInitDialog();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- private:
- AsciiString m_missingName;
- enum { IDD = IDD_REPLACEUNIT };
- };
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
- #endif // !defined(AFX_PICKUNITDIALOG_H__B4C16E7D_FEED_472B_95FC_496D4C9006F5__INCLUDED_)
|