#ifndef _WX_PAPERH__
#define _WX_PAPERH__
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "paper.h"
#endif
#include "wx/defs.h"
#include "wx/event.h"
#include "wx/cmndata.h"
+#include "wx/intl.h"
+#include "wx/hashmap.h"
/*
* Paper type: see defs.h for wxPaperSize enum.
- * A wxPrintePaperType can have an id and a name, or just a name and wxPAPER_NONE,
+ * A wxPrintPaperType can have an id and a name, or just a name and wxPAPER_NONE,
* so you can add further paper types without needing new ids.
*/
// platformId is a platform-specific id, such as in Windows, DMPAPER_...
wxPrintPaperType(wxPaperSize paperId, int platformId, const wxString& name, int w, int h);
- inline const wxString& GetName() const { return m_paperName; }
+ inline wxString GetName() const { return wxGetTranslation(m_paperName); }
inline wxPaperSize GetId() const { return m_paperId; }
inline int GetPlatformId() const { return m_platformId; }
DECLARE_DYNAMIC_CLASS(wxPrintPaperType)
};
-class WXDLLEXPORT wxPrintPaperDatabase: public wxList
+WX_DECLARE_STRING_HASH_MAP(wxPrintPaperType*, wxStringToPrintPaperTypeHashMap);
+
+class WXDLLEXPORT wxPrintPaperTypeList;
+
+class WXDLLEXPORT wxPrintPaperDatabase
{
public:
wxPrintPaperDatabase();
+ ~wxPrintPaperDatabase();
void CreateDatabase();
void ClearDatabase();
// Get the paper size
wxPaperSize GetSize(const wxSize& size);
+ //
+ wxPrintPaperType* Item(size_t index) const;
+ size_t GetCount() const;
private:
- DECLARE_DYNAMIC_CLASS(wxPrintPaperDatabase)
+ wxStringToPrintPaperTypeHashMap* m_map;
+ wxPrintPaperTypeList* m_list;
+ // DECLARE_DYNAMIC_CLASS(wxPrintPaperDatabase)
};
WXDLLEXPORT_DATA(extern wxPrintPaperDatabase*) wxThePrintPaperDatabase;