Commit Graph

121 Commits (86acf8940f9a956d66ea8ca20b71e7100e60ff4f)

Author SHA1 Message Date
Giel van Schijndel 5285f0a096 * Cleanup CLimitsDialog's code to make it easier to port it to wxWidgets
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2366 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-09 14:18:57 +00:00
Giel van Schijndel ba7d1d5078 * move class CUndoRedo from bteditdoc.cpp to new file undoredo.cpp
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2363 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-08 20:39:07 +00:00
Giel van Schijndel 243bc7ddb8 * Remove unused files model.cpp/h and seedfill.cpp
* remove #include "snapprefs.h" directive
 * remove non-existent file d3dwrap.h from project file

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2362 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-08 20:10:38 +00:00
Giel van Schijndel 0397a75255 * Remove unused window CSnapPrefs or IDD_OBJECTPREFS
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2361 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-08 19:45:37 +00:00
Giel van Schijndel 9d148e7f8b * Remove unused window CInfoDialog or IDD_DEBUGINFO
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2360 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-08 19:37:17 +00:00
Giel van Schijndel 0931065023 * Use dynamic_cast<T*> instead of wxWidgets' own RTTI implementation (t*)->IsKindOf(CLASSINFO(T))
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2267 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-29 16:55:19 +00:00
Giel van Schijndel 0a310fdd5c * Use dynamic_cast<T*> instead of a C-style (T*) cast (dynamic_cast is safer since it walks the inheritance tree to check whether the pointer is actually of type T)
* 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
2007-07-29 16:45:40 +00:00
Giel van Schijndel bab9bd3316 * Add conversion functions for converting wxString <-> std::string (we're assuming UTF-8 encoding for std::string here)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2263 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-29 16:30:25 +00:00
Giel van Schijndel bba2360eef * Add another ported dialog: InitialLimitsDialog; to directory wxDialogs
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2262 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-29 15:56:39 +00:00
Giel van Schijndel c4b9711e46 * Don't return a reference to a temporary; instead return by value
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2261 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-29 15:47:27 +00:00
Giel van Schijndel 32f0b5bb1b * Minor cleanup:
* 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
2007-07-29 15:43:01 +00:00
Giel van Schijndel 087703e801 * Replace usage of ListNode<CScrollLimits> by class CHeightMap by std::list<CScrollLimits>
* 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
2007-07-29 14:04:24 +00:00
Giel van Schijndel 8310f9170e * Replace usage of ListNode<GateWay> by class CHeightMap by std::list<GateWay>
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2257 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-29 12:51:49 +00:00
Giel van Schijndel 817e2ace65 * Replace usage of ListNode<C3DObjectInstance> by class CHeightMap by std::list<C3DObjectInstance>
* 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
2007-07-28 20:00:57 +00:00
Giel van Schijndel cdc92ebfe6 * Apply ListNode<T>::iterator in class CBTEditDoc
* 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
2007-07-28 17:54:08 +00:00
Giel van Schijndel d50c04ef6b * Replace usage of ListNode<C3DObjectInstance> by class CBTEditDoc by std::list<C3DObjectInstance>
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2251 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-28 14:34:28 +00:00
Giel van Schijndel bca3e1f535 * Some const correctness
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2250 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-28 14:30:05 +00:00
Giel van Schijndel 4ef9247c6a * Move CBTEditDoc's member initialisation from the constructor's body into the initialization list
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2248 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-28 14:05:19 +00:00
Dennis Schridde 0463b3be26 Version 1.1a of Kage's pie_import.py: fixed a bug that prevented team colors from ever importing correctly.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2239 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-28 10:42:33 +00:00
Giel van Schijndel 7abcb85aa2 * Fix compile error caused by not #including <cassert>
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2237 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-28 00:13:18 +00:00
Giel van Schijndel 92d0f946bb * Add a safety assert to ListNode<T>::iterator to make sure null pointers are asserted on
* 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
2007-07-28 00:06:12 +00:00
Giel van Schijndel 21e85b4e62 * Add copy constructor to class scrollLimitStringIterator
* 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
2007-07-27 23:53:07 +00:00
Giel van Schijndel 7e2a03a022 Greater ease in porting to wxWidgets:
* 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
2007-07-27 23:07:17 +00:00
Giel van Schijndel d6ee80ee25 * Remove annoying usage of DEBUG_NEW since it seems to be causing compile errors at seemingly random times (which is _no_ fun)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2233 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-27 22:42:59 +00:00
Giel van Schijndel 84f7676349 * Add class ListNode<T>::iterator so that we can iterator over a linked list of ListNode<T>s (this will ease porting of code that uses class ListNode<T> to std::list<T> instead
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2232 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-27 22:29:46 +00:00
Giel van Schijndel 8010de593a * Put implementation in class declaration of template class ListNode<T> for increased locality and readability
* 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
2007-07-27 21:11:57 +00:00
Giel van Schijndel f73e4e6488 * Remove some spaces which caused problems with svn:keywords
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2221 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-27 15:34:26 +00:00
Giel van Schijndel b4afe5b827 * Use wxStdDialogButtonSizer for the default buttons instead of a wxBoxSizer with some wxButtons in it
* 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
2007-07-27 15:33:15 +00:00
Giel van Schijndel 3c24ae3d6f * Rename AutoFlagDialog::OnDegree to OnRotate
* 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
2007-07-27 14:30:07 +00:00
Giel van Schijndel 4a34916549 * Fix some syntax errors (missing semi-colons, or semi-colons where they shouldn't be)
* 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
2007-07-27 14:20:34 +00:00
Giel van Schijndel d8b7837c3b * Add another ported dialog: SaveSegmentDialog; to directory wxDialogs
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2214 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 22:28:55 +00:00
Giel van Schijndel 22712ec8d1 * Remove our own "custom" event handler for the cancel button "ID_CANCEL" and use wxDialog::OnCancel instead
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2213 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 22:22:34 +00:00
Giel van Schijndel 31c4a1de54 * Use wxDialog::OK and wxDialog::Cancel in the handlers for ID_OK and ID_CANCEL respectively
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2212 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 22:16:41 +00:00
Giel van Schijndel 18bf3bfa9c * Add special wxValidator derivation: wxNumericTextValidator
* 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
2007-07-26 22:11:35 +00:00
Dennis Schridde 962a6db92c Version 1.1 of the Blender scripts by Kage.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2210 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 20:53:20 +00:00
Giel van Schijndel e684aed3b6 Greater ease in porting to wxWidgets:
* 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
2007-07-26 20:04:46 +00:00
Giel van Schijndel e7ff6f8af0 * Update TODO file: we already converted one dialog from MFC to wxWidgets: yay!
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2207 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 14:42:55 +00:00
Giel van Schijndel c355c4dcdf * Add directory wxDialogs; I'll use this as a temporary storage for dialogs which have been ported from MFC to wxWidgets
* Add first converted dialog: AutoFlagDialog; to directory wxDialogs

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2206 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 14:38:22 +00:00
Giel van Schijndel 90ca240964 Greater ease in porting to wxWidgets:
* Rename class CAutoFlagDialog to AutoFlagDialog
 * Don't allow public access to private data members anymore
 * Initialize private data members with constructor
 * Add public access, read-only, member functions for private data members
 * Upon initialization add button "handlers" to private pointers; rather than retrieving these pointers each time again
 * Use only one function OnRotate() rather than four functions OnRot0, OnRot90, OnRot180 and OnRot270 which all have the exact same definition

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2205 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 14:12:20 +00:00
Giel van Schijndel 80c4492003 * Clean out class declaration of CEdgeBrush
* Turn protected section of CEdgeBrush into a private section
 * Mark all the functions that have their definition in the header as inline

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2204 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 11:17:16 +00:00
Giel van Schijndel a027ced426 * Remove THIS_FILE from all files; which basically was an unused wrapper around macro __FILE__
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2203 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 11:01:20 +00:00
Giel van Schijndel 79ea5bb199 * Update EditWorld's TODO file
* Add list of files requiring porting from MFC to wxWidgets

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2202 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 10:54:32 +00:00
Giel van Schijndel b543a89e13 * #include required header <ostream>
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2201 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 10:50:50 +00:00
Giel van Schijndel 20d790a4fa Cleanup:
* Rename class CKeyHandler to KeyHandler (I don't want freaking MFC style classnames being prefixed with 'C')
 * Modify class KeyHandler to use std::bitset instead of an array of bools
 * Use forward declarations for pointers instead of including the entire header

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2200 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 10:50:15 +00:00
Giel van Schijndel 6634aa66fa * Remove unused files debug.[ch]
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2199 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 09:40:03 +00:00
Giel van Schijndel f10cdeb157 * Make debugprint.c a C++ file instead of C
* Use std::ostream instead of FILE* for debug printing

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2198 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 09:36:45 +00:00
Giel van Schijndel 595c4838ac * Use stack allocated objects instead of heap allocated; since they're safer (don't require explicit deallocation), and it's obvious that the only reason why they where heap allocated is probably that whoever wrote that piece of code was addicted to the "operator new"
* Use std::ostream instead of FILE* for PCXHandler::WritePCX
 * Change utility functions EncodeLine and EncodedPut to work with std::ostream instead of FILE* now

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2197 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 00:50:32 +00:00
Giel van Schijndel 2fcc6e82c2 * Use std::istream instead of FILE* for PCXHandler::ReadPCX
* Change private member functions of PCXHandler; EncodedGet, EncodeLine and EncodedPut into static, inline, non-member, utility functions (EncodedGet now also works with std::istream)
 * Use std::string for the composition of strings, rather than some char[] buffer and strcpy + strcat

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2196 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-26 00:18:21 +00:00
Giel van Schijndel 06afa3c7a0 * Less violation of encapsulation: use private instead of protected (since we don't need access to these members anyway; plus we don't inherit from these classes ATM)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2190 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-25 14:58:16 +00:00
Giel van Schijndel f54618b6c4 * Remove files gateinterface.* which basically where a C<->C++ interface to the gateway* files (these are now C++ files)
* Move previous interface functions into gateway.cpp

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2187 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-24 18:49:29 +00:00