// Created: 01/02/97
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_PAPERH__
#define _WX_PAPERH__
-#if defined(__GNUG__) && !defined(__APPLE__)
-#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.
*/
#define WXADDPAPER(paperId, platformId, name, w, h) AddPaperType(paperId, 0, name, w, h)
#endif
-class WXDLLEXPORT wxPrintPaperType: public wxObject
+class WXDLLIMPEXP_CORE wxPrintPaperType: public wxObject
{
public:
wxPrintPaperType();
DECLARE_DYNAMIC_CLASS(wxPrintPaperType)
};
-class WXDLLEXPORT wxPrintPaperDatabase: public wxList
+WX_DECLARE_STRING_HASH_MAP(wxPrintPaperType*, wxStringToPrintPaperTypeHashMap);
+
+class WXDLLIMPEXP_FWD_CORE wxPrintPaperTypeList;
+
+class WXDLLIMPEXP_CORE 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 WXDLLIMPEXP_DATA_CORE(wxPrintPaperDatabase*) wxThePrintPaperDatabase;
#endif