pedrogui.h revision 9edfc75079a4cdb2b79ee0626b18a2757ab7987e
#ifndef __PEDROGUI_H__
#define __PEDROGUI_H__
/*
* Simple demo GUI for the Pedro mini-XMPP client.
*
* Authors:
* Bob Jamison
*
* Copyright (C) 2005-2007 Bob Jamison
*
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <gtkmm.h>
#include "pedroxmpp.h"
#include "pedroconfig.h"
{
//#########################################################################
//# R O S T E R
//#########################################################################
{
Roster()
{ doSetup(); }
{}
/**
* Clear all roster items from the list
*/
/**
* Regenerate the roster
*/
{
{}
{
if (parent)
return true;
}
};
void sendFileCallback();
void chatCallback();
bool doSetup();
{
{
}
};
};
//#########################################################################
//# M E S S A G E L I S T
//#########################################################################
{
{ doSetup(); }
{}
/**
* Clear all messages from the list
*/
/**
* Post a message to the list
*/
bool doSetup();
};
//#########################################################################
//# U S E R L I S T
//#########################################################################
{
UserList()
{ doSetup(); }
{}
/**
* Clear all messages from the list
*/
/**
* Post a message to the list
*/
{
{}
{
if (parent)
return true;
}
};
void sendFileCallback();
void chatCallback();
bool doSetup();
{
};
};
//#########################################################################
//# C H A T W I N D O W
//#########################################################################
{
virtual ~ChatWindow();
{ return jid; }
void leaveCallback();
void hideCallback();
void textEnterCallback();
bool doSetup();
};
//#########################################################################
//# G R O U P C H A T W I N D O W
//#########################################################################
{
{ return groupJid; }
{ return nick; }
bool presence,
void textEnterCallback();
void leaveCallback();
void hideCallback();
bool doSetup();
};
//#########################################################################
//# C O N F I G D I A L O G
//#########################################################################
{
{ doSetup(); }
virtual ~ConfigDialog ()
{}
//Overloaded from Gtk::Dialog
void okCallback();
void cancelCallback();
bool doSetup();
};
//#########################################################################
//# P A S S W O R D D I A L O G
//#########################################################################
{
{ doSetup(); }
{}
//Overloaded from Gtk::Dialog
void okCallback();
void cancelCallback();
bool doSetup();
};
//#########################################################################
//# C H A T D I A L O G
//#########################################################################
{
{ doSetup(); }
{}
void okCallback();
void cancelCallback();
bool doSetup();
};
//#########################################################################
//# G R O U P C H A T D I A L O G
//#########################################################################
{
{ doSetup(); }
{}
{ return groupField.get_text(); }
void okCallback();
void cancelCallback();
bool doSetup();
};
//#########################################################################
//# C O N N E C T D I A L O G
//#########################################################################
{
{ doSetup(); }
virtual ~ConnectDialog ()
{}
int getPort()
{ return (int)portSpinner.get_value(); }
{ return resourceField.get_text(); }
bool getRegister()
{ return registerButton.get_active(); }
/**
* Regenerate the account list
*/
void okCallback();
void saveCallback();
void cancelCallback();
void doubleClickCallback(
void selectedCallback();
bool doSetup();
//## Account list
void connectCallback();
void modifyCallback();
void deleteCallback();
{
{
}
};
};
//#########################################################################
//# F I L E S E N D D I A L O G
//#########################################################################
{
{ doSetup(); }
{}
{ return fileName; }
void okCallback();
void cancelCallback();
void buttonCallback();
bool doSetup();
};
//#########################################################################
//# F I L E R E C E I V E D I A L O G
//#########################################################################
{
const DOMString &streamIdArg,
const DOMString &offeredNameArg,
long sizeArg,
{
doSetup();
}
{}
{ return jid; }
{ return iqId; }
{ return streamId; }
{ return offeredName; }
{ return fileName; }
{ return desc; }
long getSize()
{ return fileSize; }
{ return hash; }
void okCallback();
void cancelCallback();
void buttonCallback();
bool doSetup();
long fileSize;
};
//#########################################################################
//# M A I N W I N D O W
//#########################################################################
{
PedroGui();
//Let everyone share these
void handleConnectEvent();
void handleDisconnectEvent();
/**
*
*/
/**
*
*/
bool checkEventQueue();
bool chatDeleteAll();
bool groupChatDeleteAll();
bool presence,
const DOMString &offeredName,
long size,
//# File menu
void connectCallback();
void chatCallback();
void groupChatCallback();
void disconnectCallback();
void quitCallback();
//# Edit menu
void fontCallback();
void colorCallback();
//# Transfer menu
void sendFileCallback();
//# Registration menu
void regPassCallback();
void regCancelCallback();
//# Help menu
void aboutCallback();
//# Configuration file
bool configLoad();
bool configSave();
bool doSetup();
void padlockEnable();
void padlockDisable();
};
} //namespace Pedro
#endif /* __PEDROGUI_H__ */
//#########################################################################
//# E N D O F F I L E
//#########################################################################