mirror of
https://github.com/levinsv/pgadmin3.git
synced 2026-05-16 06:05:49 -06:00
45 lines
1.5 KiB
C++
45 lines
1.5 KiB
C++
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// pgAdmin III - PostgreSQL Tools
|
|
//
|
|
// Copyright (C) 2002 - 2016, The pgAdmin Development Team
|
|
// This software is released under the PostgreSQL Licence
|
|
//
|
|
// gqbObjectCollection.h - A Collection of simple GQB objects
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef GQBOBJECTCOLLECTION_H
|
|
#define GQBOBJECTCOLLECTION_H
|
|
|
|
// App headers
|
|
#include "gqb/gqbObject.h"
|
|
#include "gqb/gqbCollection.h"
|
|
#include "gqb/gqbArrayCollection.h"
|
|
|
|
// Create Collections of gqbObjects
|
|
class gqbObjectCollection : public gqbObject
|
|
{
|
|
public:
|
|
gqbObjectCollection(wxString name, wxTreeItemData *owner, pgConn *connection, OID oid = 0);
|
|
virtual ~gqbObjectCollection();
|
|
|
|
protected:
|
|
void addObject(gqbObject *object);
|
|
void removeObject(gqbObject *object);
|
|
gqbIteratorBase *createIterator();
|
|
gqbIteratorBase *createDownIterator();
|
|
int countObjects();
|
|
gqbObject *getObjectAtIndex(int index);
|
|
bool existsObject(gqbObject *object);
|
|
int indexObject(gqbObject *object);
|
|
void insertObjectAt(gqbObject *object, int index);
|
|
int getCount();
|
|
void removeAll(); // Remove all objects from collection without deleting each one.
|
|
void deleteAll(); // Remove and Delete all objects from collection.
|
|
|
|
private:
|
|
gqbCollection *objectsCollection;
|
|
gqbArrayCollection *implementation; // GQB-TODO: DEBO Eliminar esto (que gqbArrayCollection este dentro de la clase) pero como?
|
|
};
|
|
#endif
|