/////////////////////////////////////////////////////////////////////////////
-// Name: paper.h
+// Name: wx/paper.h
// Purpose: Paper database types and classes
// Author: Julian Smart
// Modified by:
// 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.
#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