Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

ChannelGui Class Reference

Definisce il Canale sia a livello logico che grafico. More...

#include <ChannelGui.h>

Inheritance diagram for ChannelGui:

TerminalGui List of all members.

Public Member Functions

 ChannelGui (Connessione *connection, PARENT_FRAME *parent, wxWindowID id=-1, const wxString &title=_("Channel"), const wxPoint &position=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=GUI_STYLE, const wxString &name=_("Quirck Channel"))
void receiveMsg (wxString message, wxTextAttr style=STYLE_DEFAULT)
 Viene invocato dal Parser per mandare al terminale dei messaggi che devono essere stampati a Video.
bool IsActive ()
void SetActive ()
void setNickList (wxString)
 Gestione della lista degli utenti presenti in un canale.
void addUser (wxString)
void removeUser (wxString)
bool changeNick (wxString, wxString)
 Cambiamento del nick di un utente su un canale.
void opUser (wxString)
 Gestione dei operatori e dei voice di un canale.
void deopUser (wxString)
void voiceUser (wxString)
void devoiceUser (wxString)
void halfopUser (wxString)
void dehalfopUser (wxString)
wxString getTopic ()
 Gestione del Topic del canale.
void setTopic (wxString)
void setModes (wxString)
 Gestione dei modi di un canale.
wxString getModes ()
bool getMode (int)

Protected Attributes

char modes [8]
 Variabili protected dove vengono memorizzati i dati di un canale.
wxString Topic
bool active

Private Member Functions

void SetLayout ()
 Imposta il Layout del Terminale.
void OnDoubleClick (wxCommandEvent &event)
 Gestisce l'evento di doppio click su un nickname della nicklist.
void ChannelGuiClose (wxCloseEvent &event)

Private Attributes

wxListBox * userlist

Detailed Description

Definisce il Canale sia a livello logico che grafico.

E' una classe figlia di TerminalGui e aggiunge tutte le caratteristiche tipiche di un canale IRC quali lista degli utenti connessi al canale ed i metodi per la loro gestione. Informazioni sul Topic e sui mode del canale.

Author:
Antonio Frongillo, Andrea Sarro (sezione Grafica). Luca Sambucini, Marco Sabatini e Emiliano Vonzin (sezione Gestione del Canale).
Warning:
I sorgenti dell'intero progetto sono rilasciati sotto licenza GPL. Leggere il file gpl.txt allegato ai sorgenti per maggiori informazioni.

Definition at line 26 of file ChannelGui.h.


Constructor & Destructor Documentation

ChannelGui::ChannelGui Connessione connection,
PARENT_FRAME *  parent,
wxWindowID  id = -1,
const wxString &  title = _("Channel"),
const wxPoint &  position = wxDefaultPosition,
const wxSize &  size = wxDefaultSize,
long  style = GUI_STYLE,
const wxString &  name = _("Quirck Channel")
 

Definition at line 16 of file ChannelGui.cpp.


Member Function Documentation

void ChannelGui::addUser wxString   ) 
 

Definition at line 119 of file ChannelGui.cpp.

bool ChannelGui::changeNick wxString  ,
wxString 
 

Cambiamento del nick di un utente su un canale.

Questo metodo si occupa di ricercare un determinato nick e in caso di ricerca positiva di modificare il nome. Questo metodo viene invocato su tutti i canali aperti ogni volta che un utente collegato modifica il proprio nick, quindi deve riportare in uscita un variabile di controllo che avverte se la ricerca è andata a buon fine e se quindi si dovrà stampare una riga di commento sulla finestra. Questo metodo inoltre deve tener conto in fase di ricerca conto della possibilità che il nick sia un op, un halfop o un voice.

Definition at line 144 of file ChannelGui.cpp.

void ChannelGui::ChannelGuiClose wxCloseEvent &  event  )  [private]
 

Definition at line 70 of file ChannelGui.cpp.

void ChannelGui::dehalfopUser wxString   ) 
 

Definition at line 262 of file ChannelGui.cpp.

void ChannelGui::deopUser wxString   ) 
 

Definition at line 205 of file ChannelGui.cpp.

void ChannelGui::devoiceUser wxString   ) 
 

Definition at line 232 of file ChannelGui.cpp.

bool ChannelGui::getMode int   ) 
 

Definition at line 355 of file ChannelGui.cpp.

wxString ChannelGui::getModes  ) 
 

Definition at line 346 of file ChannelGui.cpp.

wxString ChannelGui::getTopic  ) 
 

Gestione del Topic del canale.

Questi semplici metodi permettono di modificare o leggere il topic di un canale, inoltre il metodo lo modifica si prende il dover di avvertire stampando sulla finestra un messaggio di avviso con il nuovo topic

Definition at line 282 of file ChannelGui.cpp.

void ChannelGui::halfopUser wxString   ) 
 

Definition at line 246 of file ChannelGui.cpp.

bool ChannelGui::IsActive  ) 
 

Definition at line 363 of file ChannelGui.cpp.

void ChannelGui::OnDoubleClick wxCommandEvent &  event  )  [private]
 

Gestisce l'evento di doppio click su un nickname della nicklist.

Al doppio click è associata l'apertura di una Query con il nickname selezionato.

Definition at line 80 of file ChannelGui.cpp.

void ChannelGui::opUser wxString   ) 
 

Gestione dei operatori e dei voice di un canale.

I seguenti metodi permettono di modificare lo stato un utente collegato al canale: impostandolo come op, halfop o voice, o viceversa toglire questi privilegi.

Definition at line 188 of file ChannelGui.cpp.

void ChannelGui::receiveMsg wxString  message,
wxTextAttr  style = STYLE_DEFAULT
[virtual]
 

Viene invocato dal Parser per mandare al terminale dei messaggi che devono essere stampati a Video.

Il metodo e' dichiarato Virtuale perche' in alcune classi (per es. ChannelGui) il messaggio deve essere formattato in un modo particolare per cui e' necessario ridefinire il metodo.

Parameters:
message Messaggio da stampare sul terminale.
style Stile del messaggio (colorato, grassetto, sottolineato).

Reimplemented from TerminalGui.

Definition at line 53 of file ChannelGui.cpp.

void ChannelGui::removeUser wxString   ) 
 

Definition at line 129 of file ChannelGui.cpp.

void ChannelGui::SetActive  ) 
 

Definition at line 365 of file ChannelGui.cpp.

void ChannelGui::SetLayout  )  [private, virtual]
 

Imposta il Layout del Terminale.

E' Dichiarato virtuale perche' alcuni terminali hanno elementi aggiuntivi e quindi devono avere un layout diverso da quello del terminale base.

Reimplemented from TerminalGui.

Definition at line 32 of file ChannelGui.cpp.

void ChannelGui::setModes wxString   ) 
 

Gestione dei modi di un canale.

Questi metodi offrono la possibilità di modificare i modi di un canale. Il primo legge un stringa e la parsa in modo da saper quali sono i modi da aggiungere e quali da togliere, la stringa in ingresso deve aver un formato del tipo: "+nrt-ps" dove i caratteri che seguono il '+' indicano i modi da aggiungere mentre quelli che seguono il '-' quelli da disattivare. I due metodi successivi permettono di interogare il canale sui modi attivi o su uno specifico modo: il primo ritorna una stringa di cui ogni carattere rappresenta un modo attivo mentre il secondo ritorna semplicemente un booleano a seconda se il modo è attivo o no.

Definition at line 287 of file ChannelGui.cpp.

void ChannelGui::setNickList wxString   ) 
 

Gestione della lista degli utenti presenti in un canale.

Questi tre metodi vengono utizzati per modificare o inizializzare la lista degli utenti presenti in un canale: il primo metodo permette di inserire una lista di utenti contenuti in un stringa divisi da un spazio mentre i due metodi successivi rispettivamente si occupano di inserire o eliminare un elemento.

Definition at line 106 of file ChannelGui.cpp.

void ChannelGui::setTopic wxString   ) 
 

Definition at line 277 of file ChannelGui.cpp.

void ChannelGui::voiceUser wxString   ) 
 

Definition at line 219 of file ChannelGui.cpp.


Member Data Documentation

bool ChannelGui::active [protected]
 

Definition at line 150 of file ChannelGui.h.

char ChannelGui::modes[8] [protected]
 

Variabili protected dove vengono memorizzati i dati di un canale.

In queste variabili vengono memorizzate le caratteristiche di un canale: i modi sono contenuti in un semplice array di caratteri dove ogni posizione contiene un determinato modo; il topic naturalmente è memorizzato in un stringa; mentre la variabile active indica se la finestra è attiva o meno (torna utile da altri metodi legati alla grafica)

Definition at line 148 of file ChannelGui.h.

wxString ChannelGui::Topic [protected]
 

Definition at line 149 of file ChannelGui.h.

wxListBox* ChannelGui::userlist [private]
 

Definition at line 42 of file ChannelGui.h.


The documentation for this class was generated from the following files:
Generated on Thu Dec 2 16:51:42 2004 for Quirck by  doxygen 1.3.9.1