Classe: MsExplorer
Esta classe cria um objeto gráfico do tipo "Explorer" (Painel Gerencial), permitindo que o usuário adicione inúmeros itens em uma "Arvore" de opções e defina um painel contemplando objetos graficos para cada item de arvore adicional.
New
Inicializador da Classe (Construtor)
MsExplorer(): New ( < cTitle>, < nTop>, < nLeft>, < nBottom>, < nRight>, [ oWnd], [ lToolBar], [ lAddressBar] ) --> uRet
Nome | Tipo | Descrição | Obrigatório | Referência |
cTitle | Caracter | Titulo da janela (dialog) principal | X | |
nTop | Numérico | Coordenada vertical inicial (em pixels) | X | |
nLeft | Numérico | Coordenada horizontal inicial (em pixels) | X | |
nBottom | Numérico | Altura do painel principal (em pixels) | X | |
nRight | Numérico | Largura do painel principal (em pixels) | X | |
oWnd | Objeto | Objeto gráfico do tipo MsDialog utilizado para montagem do painel e arvore | ||
lToolBar | Lógico | Exibe/Oculta a barra de botões superior (ButtonBar) | ||
lAddressBar | Lógico | Exibe/Oculta a ComboBox de caminhos (itens) a serem posicionado |
-
uRet(nulo)
- Não existe retorno
Activate
Exibe o objeto gráfico (ShowMode)
MsExplorer(): Activate ( ) --> Nil
-
Nil(nulo)
- Não existe retorno para o método
AddDefButton
Permite adicionar um ou mais botões a EnchoiceButtons no painel principal
MsExplorer(): AddDefButton ( < cResource>, [ cToolTip], < bAction>, [ uPar4], [ bWhen], [ nWidth], [ cTitulo] ) --> oBtn
Nome | Tipo | Descrição | Obrigatório | Referência |
cResource | Caracter | Nome do resource (imagem utilizada como ícone) do botão a ser criado. | X | |
cToolTip | Caracter | ToolTip (descritivo) do botão a ser criado | ||
bAction | Bloco de código | Ação (função) a ser executada ao click do mouse sobre o botão a ser criado. | X | |
uPar4 | Caracter | Compatibilidade | ||
bWhen | Bloco de código | Condição lógica para ativar/desativar a utilização do botão (Enable/Disable) | ||
nWidth | Numérico | Largura do botão. (em pixels) | ||
cTitulo | Caracter | Titulo do botão |
-
oBtn()
- Objeto do botão criado
AddItem
Adiciona um subitem dentro de um item de arvore, a esquerda do painel principal
MsExplorer(): AddItem ( ) -->
AddTree
Adiciona um item na arvore a esqueda do painel principal
MsExplorer(): AddTree ( < cPrompt>, [ cResource1], [ cResource2], < cCargo>, [ lPanel] ) --> nRet
Nome | Tipo | Descrição | Obrigatório | Referência |
cPrompt | Caracter | Label do item | X | |
cResource1 | Caracter | Nome do resource (Imagem) a ser utilizado como icone no item da arvore, quando não-expandido. | ||
cResource2 | Caracter | Nome do resource (Imagem) a ser utilizado como icone no item da arvore, quando expandido. | ||
cCargo | Caracter | Identificador do nó (item da arvore) | X | |
lPanel | Lógico | Item possui ou não um novo painel associado. |
-
nRet()
- Numero do item dentro da arvore
DeActivate
Finaliza a exibição do objeto gráfico.
MsExplorer(): DeActivate ( ) --> Nil
-
Nil()
- Não possui retorno definido.
DefaultBar
Carrega os botões padrões ("Copiar", "Recortar", "Colar", "Calculadora") na ButtonBar. (Apenas quando a propriedade lToolBar for .T.)
MsExplorer(): DefaultBar ( ) -->
EndTree
Finaliza a construção de um item de Arvore
MsExplorer(): EndTree ( ) --> Nil
-
Nil(nulo)
- Não existe retorno para o método
GetPanel
Retorna o nome do componente TPanel do item informado como parametro.
MsExplorer(): GetPanel ( < nID> ) --> oPanel
Nome | Tipo | Descrição | Obrigatório | Referência |
nID | Numérico | Nro do item dentro da arvore | X |
-
oPanel()
- Objeto tipo "TPanel" referente ao item passado como parametro
Refresh
Atualiza todos os componentes do objeto em relação a suas variáveis e conteúdos (recarrega)
MsExplorer(): Refresh ( ) -->
Propriedade | Descrição | Tipo |
nBottom | Coordenada horizontal (Y) inicial do painel principal | Numérico |
nPanelHeight | Altura em pixels do painel principal | Numérico |
nPanelWidth | Largura em pixels do painel principal | Numérico |
nRight | Coordenada vertical (X) inicial do painel principal | Numérico |
oDlg | Objeto tipo "MsDialog", referente ao painel principal da classe. | Objeto |
oTree | Objeto tipo "oTree" presente no painel principal da classe | Objeto |
#INCLUDE "PROTHEUS.CH"User Function MsExpl()Local oDlg := NilLocal oExpl := NilLocal oPanel := NilLocal aPanels := {}//Instancia ObjetooExpl := MsExplorer():New("Titulo da MSExplorer",10,10,400,700,oDlg,/*lToolBar*/,/*lAddressBar*/,/*lDefBar*/,/*oTreeFont*/,/*cBitmap*/,/*nBmpWidth*/,/*oParent*/)//Cria EnchoiceButtonsoExpl:AddDefButton("CLIPS" ,"ToolTip 01" ,{|| msgInfo("Botao ZeroUm")} ,/*cDefaultAct*/ ,/*bWhen*/,/*nWidth*/,"Botao Zero Um - 01")oExpl:AddDefButton("CLIENTE" ,"ToolTip 02" ,{|| msgInfo("Botao ZeroDois")} ,/*cDefaultAct*/ ,/*bWhen*/,/*nWidth*/,"Botao Zero Um - 02")oExpl:AddDefButton("CHAT" ,"ToolTip 03" ,{|| msgInfo("Botao ZeroTres")} ,/*cDefaultAct*/ ,/*bWhen*/,/*nWidth*/,"Botao Zero Um - 03")oExpl:AddDefButton("COMSOM" ,"ToolTip 04" ,{|| msgInfo("Botao ZeroQuatro")} ,/*cDefaultAct*/ ,/*bWhen*/,/*nWidth*/,"Botao Zero Um - 04")oExpl:AddDefButton("CARGA" ,"ToolTip 04" ,{|| msgInfo("Botao ZeroCinco")} ,/*cDefaultAct*/ ,/*bWhen*/,/*nWidth*/,"Botao Zero Um - 05")//Cria um item da ArvoreaAdd(aPanels, oExpl:AddTree("Item01","BR_LARANJA" ,"BR_VERDE","#1000",.T.))//Cria itens na ArvoreaAdd(aPanels, oExpl:AddItem("S1.1","BR_ROXO","#1100",.T.))aAdd(aPanels, oExpl:AddItem("S1.2","BR_ROXO","#1200",.T.))//Adiciona um sub-item composto na ArvoreaAdd(aPanels, oExpl:AddTree("S1.3","BR_PRETO" ,"BR_BRANCO","#1300",.T.))aAdd(aPanels, oExpl:AddItem("S1.3.1","BR_ROXO","#1310",.T.))aAdd(aPanels, oExpl:AddItem("S1.3.2","BR_ROXO","#1320",.T.))aAdd(aPanels, oExpl:AddItem("S1.3.3","BR_ROXO","#1330",.T.))oExpl:EndTree() //Fecha subitemoExpl:EndTree() //Fecha item//Cria um novo item da ArvoreaAdd(aPanels, oExpl:AddTree("Item02","BR_LARANJA" ,"BR_VERDE","#2000",.T.))aAdd(aPanels, oExpl:AddItem("S2.1","BR_ROXO","#2100",.T.))aAdd(aPanels, oExpl:AddItem("S2.2","BR_ROXO","#2200",.T.))oExpl:EndTree() //Fecha Item//Desenha nos paineis de cada item@50,50 SAY "SELECIONOU A OPCAO: Item01" PIXEL SIZE 150,25 OF oExpl:GetPanel(aPanels[1])@50,50 SAY "SELECIONOU A OPCAO: S1.1" PIXEL SIZE 150,25 OF oExpl:GetPanel(aPanels[2])@50,50 SAY "SELECIONOU A OPCAO: S1.2" PIXEL SIZE 150,25 OF oExpl:GetPanel(aPanels[3])@50,50 SAY "SELECIONOU A OPCAO: S1.3" PIXEL SIZE 150,25 OF oExpl:GetPanel(aPanels[4])@50,50 SAY "SELECIONOU A OPCAO: S1.3.1" PIXEL SIZE 150,25 OF oExpl:GetPanel(aPanels[5])@50,50 SAY "SELECIONOU A OPCAO: S1.3.2" PIXEL SIZE 150,25 OF oExpl:GetPanel(aPanels[6])@50,50 SAY "SELECIONOU A OPCAO: S1.3.3" PIXEL SIZE 150,25 OF oExpl:GetPanel(aPanels[7])@50,50 SAY "SELECIONOU A OPCAO: Item02" PIXEL SIZE 150,25 OF oExpl:GetPanel(aPanels[8])@50,50 SAY "SELECIONOU A OPCAO: S2.1" PIXEL SIZE 150,25 OF oExpl:GetPanel(aPanels[9])@50,50 SAY "SELECIONOU A OPCAO: S2.2" PIXEL SIZE 150,25 OF oExpl:GetPanel(aPanels[10])//Exibe a MsExplorer oExpl:Activate(.T.)Return