You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
2.1 KiB

//Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>, (C) 2012
//Copyright: See COPYING file that comes with this distribution
#ifndef _REMOTEMDI_H_
#define _REMOTEMDI_H_
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <tqvaluelist.h>
#include <tdemdimainfrm.h>
#include <tdekrbclientsocket.h>
#include <tqtrla.h>
#define MAGIC_NUMBER 1
#define PROTOCOL_VERSION 1
class KMdiChildView;
class TDEListBox;
class TQListBoxItem;
class TDEToggleAction;
/**
* @short Remote Laboratory Main Window
* @author Timothy Pearson <kb9vqf@pearsoncomputing.net>
* @version 0.1
*/
class RemoteMDI : public KMdiMainFrm
{
Q_OBJECT
public:
/**
* Default Constructor
*/
RemoteMDI();
/**
* Default Destructor
*/
virtual ~RemoteMDI();
void setServerHost(TQString server);
public slots:
virtual void childWindowCloseRequest(KMdiChildView *pWnd);
protected slots:
void openNewWindow(KMdiChildView *view=0);
void currentChanged(KMdiChildView *current);
void closeCurrent();
void closeSpecifiedWindow(KMdiChildView *window);
void childClosed(KMdiChildView *w);
private slots:
void configToolbars();
void configKeys();
void updateStatusBarMessage();
void updateStatusBarMainMessage(const TQString& message);
void updateStatusBarWindowMessage(const TQString& message, const TQObject* window=NULL);
void connectToServer();
void finishConnectingToServer();
void disconnectFromServer();
void promptForStationType();
void connectionClosedHandler();
void processLockouts();
void processActions();
void startModule();
void masterPoll();
protected:
virtual bool queryClose();
virtual void resizeEvent(TQResizeEvent *);
private:
TQString m_mainStatusBarMessage;
TQMap<const TQObject*, TQString> m_windowStatusBarMapping;
unsigned m_children;
TQString m_serverHost;
TDEKerberosClientSocket* m_rsvSvrSocket;
bool connToServerConnecting;
int connToServerState;
TQTimer *connToServerTimeoutTimer;
TQTimer *masterPollTimer;
TDEAction *connect_action;
TDEAction *disconnect_action;
TQPtrList<TDEAction> m_instrumentActionList;
StationType m_activeStation;
};
#endif // _REMOTEMDI_H_