Projeto IDJ - Towers Of Madness
TowerDefenseLovecraftnianoZombicida
 Todos Classes Arquivos Funções Variáveis Definições de Tipos Enumerações Valores enumerados Definições e Macros Páginas
Tipos Públicos | Métodos Públicos | Atributos Públicos | Métodos Protegidos | Atributos Protegidos | Lista de todos os Membros
Referência da Classe UIbutton

Classe virtual que modela o comportamento de um botão na interface gráfica. Mais...

#include <UIbutton.h>

Diagrama de Hierarquia para UIbutton:
[legenda]
Diagrama de colaboração para UIbutton:
[legenda]

Tipos Públicos

enum  State : int { DISABLED = 0, ENABLED, HIGHLIGHTED, PRESSED }
 Possíveis estados que um botão pode assumir. Mais...
 
typedef void(* ButtonCallback )(void *)
 

Métodos Públicos

void SetCallback (UIbutton::State stateToSet, void *caller, ButtonCallback callback)
 Seta o callback a ser chamado para cada estado. Mais...
 
void SetClickCallback (void *caller, ButtonCallback callback)
 Seta o callback a ser chamado ao clicar no botão. Mais...
 
virtual void SetUIbuttonState (UIbutton::State newState)
 Solicita ao botão que transite para outro estado. Mais...
 
UIbutton::State GetUIbuttonState (void) const
 Retorna o estado atual do botão. Mais...
 
void Click ()
 Realiza o processo interno de clique. Mais...
 
virtual bool Is (std::string UItype) const
 Checa qual o tipo do objeto. Mais...
 

Atributos Públicos

bool interactOnBoundingBox
 

Métodos Protegidos

 UIbutton (UIbutton::State initialState=UIbutton::State::ENABLED, bool interactOnBoundingBox=true)
 Construtor protegido para não permitir que seja diretamente instanciado. Mais...
 
void Update (float dt, bool mouseIsInside)
 

Atributos Protegidos

UIbutton::State actualState
 
ButtonCallback disabledCallback
 
ButtonCallback enabledCallback
 
ButtonCallback highlightedCallback
 
ButtonCallback pressedCallback
 
ButtonCallback clickedCallback
 
void * disableCaller
 
void * enabledCaller
 
void * highlightedCaller
 
void * pressedCaller
 
void * clickCaller
 

Descrição Detalhada

Classe virtual que modela o comportamento de um botão na interface gráfica.

Essa class tem como responsabilidade modelar todo o comportamento esperado de um botão na interface gráfica sem se preocupar com nenhuma parte da renderização.

Ela possui callbacks que podem ser chamados a cada mudança de estado do botão. Esses callbacks são de ponteiros para função que não retornem nada mas recebem um ponteiro para void*. Essas funções podem ser Clojures (funções lambda). Esse ponteiro void* pode ser usado para se manipular o objeto que se desejar dentro da callback, desde que o cast seja feito corretamente.

Definições de Tipos

typedef void(* UIbutton::ButtonCallback)(void *)

O ponteiro para função do tipo que o callback chamará.

Enumerações

enum UIbutton::State : int

Possíveis estados que um botão pode assumir.

Um botão pode estar em qualquer uma dos seguintes estados:

  • Disabled: O botão está desativado e, portanto, não pode sofrer interação
  • Enabled: O botão está ativado e, portanto, pode sofrer interação. Esse é o estado padrão de um botão.
  • Highlighted: O botão está sendo destacado. Usado para quando o mouse está sobre ele, ou também, para a navegação seja com teclas, esse botão seja o ativo.
  • Pressed: O botão está sendo pressionado. Usado quando o mouse está clicado sobre ele, ou também, para a navegação seja com teclas, esse botão seja pressionado.
Valores enumerados
DISABLED 
ENABLED 
HIGHLIGHTED 
PRESSED 

Construtores & Destrutores

UIbutton::UIbutton ( UIbutton::State  initialState = UIbutton::State::ENABLED,
bool  interactOnBoundingBox = true 
)
protected

Construtor protegido para não permitir que seja diretamente instanciado.

Essa classe NÃO deve ser diretamente instanciada. Somente as classes que herdam dela.

Métodos

void UIbutton::Click ( )

Realiza o processo interno de clique.

Basicamente, chama o callback de clique, caso tenha sido setado.

UIbutton::State UIbutton::GetUIbuttonState ( void  ) const

Retorna o estado atual do botão.

Retorna
O estado atual do botão

Retorna qual é o estado que o botão se encontra no momento.

bool UIbutton::Is ( std::string  UItype) const
virtual

Checa qual o tipo do objeto.

Retorna
True caso a string seja o nome dessa classe ou de qualquer uma que ela herde.

Reimplementado por UItextButton e UIimageButton.

void UIbutton::SetCallback ( UIbutton::State  stateToSet,
void *  caller,
ButtonCallback  callback 
)

Seta o callback a ser chamado para cada estado.

Parâmetros
stateToSetUma enumeração State que indica qual estado deve ter seu callback alterado.
callerUm ponteiro void* que será passado ao callback para que possa se modificar coisas externas à função. Geralmente é usado this.
callbackUm ponteiro para função do tipo void (*)(void*).

A função passada na variável callback será chamada imediatamente assim que a transição de estado for finalizada.

void UIbutton::SetClickCallback ( void *  caller,
ButtonCallback  callback 
)

Seta o callback a ser chamado ao clicar no botão.

Parâmetros
callerUm ponteiro void* que será passado ao callback para que possa se modificar coisas externas à função. Geralmente é usado this.
callbackUm ponteiro para função do tipo void (*)(void*).

A função passada na variável callback será chamada imediatamente assim que o botão for clicado.

É usado um método diferente para setar esse callback pois ele não se trata de notificação de mudança de estado mas sim de ação com relação ao botão.

void UIbutton::SetUIbuttonState ( UIbutton::State  newState)
virtual

Solicita ao botão que transite para outro estado.

Parâmetros
newStateUma enumeração que indica qual é o novo estado desejado para o botão

Realiza todo o processamento interno para a transição de estados e, por último, chama o callback do novo estado.

Reimplementado por UItextButton e UIimageButton.

void UIbutton::Update ( float  dt,
bool  mouseIsInside 
)
protected

Atributos

UIbutton::State UIbutton::actualState
protected

Armazena o estado atual do botão.

void* UIbutton::clickCaller
protected

Armazena um ponteiro a ser passado para o callback de clique. Chamado de caller pois geralmente é o que é usado para representar.

ButtonCallback UIbutton::clickedCallback
protected

Armazena um ponteiro para função a ser chamada quando o botão for clicado.

void* UIbutton::disableCaller
protected

Armazena um ponteiro a ser passado para o callback de desativação. Chamado de caller pois geralmente é o que é usado para representar.

ButtonCallback UIbutton::disabledCallback
protected

Armazena um ponteiro para função a ser chamada quando o botão for desativado.

ButtonCallback UIbutton::enabledCallback
protected

Armazena um ponteiro para função a ser chamada quando o botão for ativado.

void* UIbutton::enabledCaller
protected

Armazena um ponteiro a ser passado para o callback de ativação. Chamado de caller pois geralmente é o que é usado para representar.

ButtonCallback UIbutton::highlightedCallback
protected

Armazena um ponteiro para função a ser chamada quando o botão for destacado.

void* UIbutton::highlightedCaller
protected

Armazena um ponteiro a ser passado para o callback de destaque. Chamado de caller pois geralmente é o que é usado para representar.

bool UIbutton::interactOnBoundingBox
ButtonCallback UIbutton::pressedCallback
protected

Armazena um ponteiro para função a ser chamada quando o botão for pressionado.

void* UIbutton::pressedCaller
protected

Armazena um ponteiro a ser passado para o callback de pressionamento. Chamado de caller pois geralmente é o que é usado para representar.


A documentação para esta classe foi gerada a partir dos seguintes arquivos: