1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2014, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// favourites.h - Query favourites
//
//////////////////////////////////////////////////////////////////////////
#ifndef FAVOURITES_H
#define FAVOURITES_H
#include <wx/wx.h>
#include <wx/treectrl.h>
#include <libxml/xmlreader.h>
#include <libxml/xmlwriter.h>
class queryFavouriteItem
{
public:
queryFavouriteItem(const wxString newtitle, const wxString newcontents);
wxString GetTitle()
{
return title;
};
void SetTitle(const wxString &newtitle)
{
if (!newtitle.IsEmpty()) title = newtitle;
};
int GetId()
{
return id;
};
wxString GetContents()
{
return contents;
};
wxTreeItemId &GetTreeId()
{
return treeid;
};
void SetTreeId(const wxTreeItemId &newtreeid)
{
treeid = newtreeid;
};
void AppendToMenu(wxMenu *menu, int newid);
protected:
int id;
wxString title, contents;
wxTreeItemId treeid;
};
WX_DEFINE_ARRAY_PTR(queryFavouriteItem *, queryFavouriteArray);
class queryFavouriteFolder : public queryFavouriteItem
{
public:
queryFavouriteFolder(wxString title = wxT(""));
queryFavouriteFolder(xmlTextReaderPtr reader, wxString title);
int AppendAllToMenu(wxMenu *menu, int startid);
void AppendAllToTree(wxTreeCtrl *tree, const wxTreeItemId &parent, bool onlyfolders);
bool DeleteTreeItem(const wxTreeItemId &treeitem);
queryFavouriteItem *FindFavourite(int id);
queryFavouriteItem *FindFavourite(const wxString &title);
queryFavouriteItem *FindTreeItem(const wxTreeItemId &treeitem);
void AddNewFavourite(const wxString &title, const wxString &contents);
queryFavouriteFolder *AddNewFolder(const wxString &title);
bool ContainsFolder(const wxString &title);
void saveFolder(xmlTextWriterPtr writer);
~queryFavouriteFolder();
protected:
queryFavouriteArray favourites;
};
class queryFavouriteFileProvider
{
public:
static queryFavouriteFolder *LoadFavourites(bool emptyonfailure = false);
static void SaveFavourites(queryFavouriteFolder *favourites);
};
#endif
|