* Remove unused bitmaps res/bitmap2.bmp res/bmp00001.bmp; also remove them from our resource file
* Don't use a magic number in editworld.rc for means of referring to res/bitmap1.bmp use IDB_BITMAP1 instead
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2453 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove some commented out functions from heightmap.cpp which where duplicated (i.e. functions with the same name and parameter prototypes existed elsewhere in the file) and used ListNode<T>
* Replace usage of ListNode<T> with std::list<T> usage; actually I replaced it with std::list<T>::iterator or std::list<T>::const_iterator since all code that still used ListNode<T> was code iterating over an instance of ListNode<T>
* Remove listtemp.h which contained template class ListNode<T>
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2451 4a71c877-e1ca-e34f-864e-861f7616d084
* #define VC_EXTRALEAN before including MFC & Windows headers to exclude some unused stuff
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2447 4a71c877-e1ca-e34f-864e-861f7616d084
* Remove several unused windows from the resource file: IDD_EDITSTATS, IDD_HEIGHTSCALE, IDD_OBJECTTYPES, IDD_SETSTATSCHOICE, IDD_SETSTATSCOMBO and IDD_SETSTATSVALUE
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2446 4a71c877-e1ca-e34f-864e-861f7616d084
* Update EditWorld's TODO file (remove limitsdialog.cpp from the list of yet to port windows)
* Use wxWidgets' precompiled header in numtextval.hpp
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2443 4a71c877-e1ca-e34f-864e-861f7616d084
* This class uses a container of integers instead of wxArrayInt (C++ container as specified in section 23.1 of the ISO C++ standard 1998)
* Add another ported dialog: LimitsDialog; to directory wxDialogs
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2442 4a71c877-e1ca-e34f-864e-861f7616d084
* Wrap some strings in _T() macro (deals with unicode/ascii text)
* Add an header guard to limitsdialog.hpp
* Use std::deque's constructor to load data into it from two InputIterators (first & last); note: in case of MSVC6 this requires you to fix the flawed STL
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2439 4a71c877-e1ca-e34f-864e-861f7616d084
* Change the return value of functions CHeightMap::GetMapWidth and CHeightMap::GetMapHeight from "DWORD" to "unsigned int" (also don't mark these functions as inline anymore)
* Mark function CHeightMap::GetScrollLimits as const and remove the inline keyword from its declaration
* Add a template function CHeightMap::SetScrollLimits which uses std::list::assign() to copy a list of CScrollLimits from two input iterators (in MSVC6 I had to fix the STL implementation to get this to compile, GCC works fine though, newer versions of MSVC *should* work as well btw)
Greater ease in porting to wxWidgets:
* Rename class CLimitsDialog to LimitsDialog
* Add templated constructor to LimitsDialog
* This constructor initializes an std::deque<CScrollLimits> (_limitsList) with a list of scrolling limits
* This constructor depends on InputIterators (as defined by the C++ standard in section 24.1.1) for its initialization
* Put member data in a private part of LimitsDialog's class declaration
* Make sure all member functions of LimitsDialog only work on its own private data and not on other classes' data
* Instead the usercode using LimitsDialog can use the InputIterators provided by LimitsDialog::firstLimit and LimitsDialog::lastLimit to copy data over (e.g. using STL Containers' assign() member function)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2435 4a71c877-e1ca-e34f-864e-861f7616d084
* Also dynamic_cast<T*> (which is compiler supported) should not be slower (if not faster) than wxWidgets' own RTTI implementation (t*)->IsKindOf(CLASSINFO(T))
This _does_ require RTTI to be enabled in wxWidgets' compilation; just enabling RTTI (as a compiler option) will only increase binary size, it should not add runtime overhead
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2264 4a71c877-e1ca-e34f-864e-861f7616d084
* remove some unnecessary #include directives
* add header guards
* declare some member functions const
* Add "const std::string& InitialLimitsDlg::SelectedString() const" which retrieves the string of the currently selected item
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2260 4a71c877-e1ca-e34f-864e-861f7616d084
* Some const correctness: "char*" -> "const char*"
* Fix a bug "if (a = b);" -> "if (a == b);"
* Fix a possible error where NULL might be dereferenced in CHeightMap::DrawScrollLimits (actually if that function would be called dereferencing NULL would be inevitable)
* Use references for output parameters rather than pointers
* If we use operator new[] then we should use operator delete[]
* Remove workaround for bad std::advance implementation since we're not using advance with our own iterators anymore
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2259 4a71c877-e1ca-e34f-864e-861f7616d084
* Make all member functions of CHeightMap that have an argument list declaration of "(void)" use "()" instead
* Rename std::advance in limitsdialog.cpp to just advance since it otherwise conflicts with MSVC's (flawed) implementation
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2255 4a71c877-e1ca-e34f-864e-861f7616d084
* Initialize CHeightMap's member variables using the constructor's initalization list rather than its body
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2254 4a71c877-e1ca-e34f-864e-861f7616d084
* Update the TODO list since SaveSegmentDialog has been ported from MFC to wxWidgets already
* Remove some commented out occurances of "ListNode<.*>.*\*" (yes regexp), to decrease the search context for refactoring code to use iterators
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2236 4a71c877-e1ca-e34f-864e-861f7616d084
* Apply ListNode<T>::iterator for some for-loops
* Make CHeightMap::GetScrollLimits return "ListNode<CSrollLimits>::iterator" instead of "ListNode<CSrollLimits>*" (effectively forcing all clients of this function to work in iterator style)
* Fix ListNode<T>::iterator::operator=
* Add function "void goToBegin()" to ListNode<T>::iterator (shouldn't be at the iterator I know, but this is the most intuitive intermediate solution)
* Add an own implementation of std::advance to limitsdialog.cpp (it is needed there);
* since apparently MSVC's STL developers can't even write something like: "for(; n ; --n) ++i;" correctly!!!
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2235 4a71c877-e1ca-e34f-864e-861f7616d084
* Rename class CInitialLimitsDlg to InitialLimitsDlg
* Add templated constructor to InitialLimitsDlg
* This constructor initializes an std::deque<std::string> (_stringList) with a list of strings
* This constructor depends on InputIterators (as defined by the C++ standard in section 24.1.1) for its initialization
* InitialLimitsDlg::OnInitDialog() now initializes its ComboBox with strings that have been loaded by the constructor from _stringList
* Add a proxy class that serves as an InputIterator for the initialization of InitialLimitsDlg
* This class is a proxy to ListNode<CScrollLimits>::iterator such that it extracts CScrollLimits.ScriptName and constructs an std::string from it
- These changes decouple InitialLimitsDlg from the implementation and interface of CHeightMap and CScrollLimits
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2234 4a71c877-e1ca-e34f-864e-861f7616d084
* Enable compilation of RTTI (RunTime Type-Information) compilation (not using any of it, .., yet)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2231 4a71c877-e1ca-e34f-864e-861f7616d084
* Rename the dialog in savesegmentdialog.xrc from "Dialog" to "Save Map Segment"
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2220 4a71c877-e1ca-e34f-864e-861f7616d084
* Give all parameters of AutoFlagDialog a default value
* Fix typo (used _TogXFlip and _TogYFlip instead of _ToggleXFlip and _ToggleYFlip respectively)
* Rename buttons ID_OK and ID_CANCEL to wxID_OK and wxID_CANCEL respectively; this causes wxWidgets' default handlers to be used for these
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2218 4a71c877-e1ca-e34f-864e-861f7616d084
* Add a default constructor for wxNumericTextValidator
* class wxNumericTextValidator:
* add DECLARE_DYNAMIC_CLASS, DECLARE_EVENT_TABLE and IMPLEMENT_DYNAMIC_CLASS
* fix BEGIN_EVENT_TABLE (use wxNumericTextValidator instead of wxTextValidator)
* return *this in copy assignment operator
* Some other minor fixes
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2217 4a71c877-e1ca-e34f-864e-861f7616d084
* This class validates input for wxTextCtrl to be numeric only
* Also upon initialization of the window that contains the "validated" text controls; these controls will be filled with a number given by a passed pointer
* Upon closing of this window the current value from these text controls will be written back into that pointer
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2211 4a71c877-e1ca-e34f-864e-861f7616d084
* Rename class CSaveSegmentDialog to SaveSegmentDialog
* Don't allow public access to private data members anymore
* Initialize private data members with constructor
* Add public access, member functions for private data members
* Don't define functions in a header file
* Add a header guard
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2209 4a71c877-e1ca-e34f-864e-861f7616d084