mirror of
https://github.com/levinsv/pgadmin3.git
synced 2026-05-15 06:05:49 -06:00
79 lines
2.1 KiB
C++
79 lines
2.1 KiB
C++
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// pgAdmin III - PostgreSQL Tools
|
|
//
|
|
// Copyright (C) 2002 - 2016, The pgAdmin Development Team
|
|
// This software is released under the PostgreSQL Licence
|
|
//
|
|
// pgQueryResultEvent.h - Query Result Event from the pgQueryThread
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef PGQUERYRESULTEVENT_H
|
|
#define PGQUERYRESULTEVENT_H
|
|
|
|
#include "wx/wx.h"
|
|
#include "wx/event.h"
|
|
|
|
class pgBatchQuery;
|
|
|
|
extern const wxEventType PGQueryResultEvent;
|
|
|
|
|
|
class pgQueryResultEvent : public wxCommandEvent
|
|
{
|
|
public:
|
|
pgQueryResultEvent(unsigned long _thrdId, pgBatchQuery *_qry, int _id = 0);
|
|
pgQueryResultEvent(const pgQueryResultEvent &_ev);
|
|
|
|
// Required for sending with wxPostEvent()
|
|
wxEvent *Clone() const
|
|
{
|
|
return new pgQueryResultEvent(*this);
|
|
}
|
|
|
|
pgBatchQuery *GetQuery()
|
|
{
|
|
return m_query;
|
|
}
|
|
unsigned long GetThreadID()
|
|
{
|
|
return m_thrdId;
|
|
}
|
|
|
|
enum
|
|
{
|
|
PGQ_RESULT_ERROR = -8,
|
|
PGQ_EXECUTION_CANCELLED = -7,
|
|
PGQ_ERROR_CONSUME_INPUT = -6,
|
|
PGQ_ERROR_SEND_QUERY = -5,
|
|
PGQ_ERROR_EXECUTE_CALLABLE = -4,
|
|
PGQ_ERROR_PREPARE_CALLABLE = -3,
|
|
PGQ_STRING_INVALID = -2,
|
|
PGQ_CONN_LOST = -1,
|
|
};
|
|
|
|
private:
|
|
pgBatchQuery *m_query;
|
|
// Thread Id (pgQueryThread)
|
|
unsigned long m_thrdId;
|
|
};
|
|
|
|
typedef void (wxEvtHandler::*pgQueryResultEventFunc)(pgQueryResultEvent &);
|
|
|
|
// This #define simplifies the one below, and makes the syntax less
|
|
// ugly if you want to use Connect() instead of an event table.
|
|
#define pgQueryResultEventHandler(func) \
|
|
(wxObjectEventFunction)(wxEventFunction)(wxCommandEventFunction) \
|
|
wxStaticCastEvent(pgQueryResultEventFunc, &func)
|
|
|
|
// Define the event table entry. Yes, it really *does* end in a comma.
|
|
#define EVT_PGQUERYRESULT(id, fn) \
|
|
DECLARE_EVENT_TABLE_ENTRY(PGQueryResultEvent, id, wxID_ANY, \
|
|
pgQueryResultEventHandler(fn), (wxObject*) NULL),
|
|
|
|
#define EVT_PGQUERYRESULT_RANGE(id1, id2, fn) \
|
|
DECLARE_EVENT_TABLE_ENTRY(PGQueryResultEvent, id1, id2, \
|
|
pgQueryResultEventHandler(fn), (wxObject*) NULL),
|
|
|
|
#endif // PGQUERYRESULTEVENT_H
|