// Created: 01/02/97
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_PAPERH__
#define _WX_PAPERH__
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "paper.h"
#endif
#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.
*/
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;
+extern WXDLLEXPORT_DATA(wxPrintPaperDatabase*) wxThePrintPaperDatabase;
#endif