Componente descontinuado e não suportado pelo SmartClient HTML
Classe: TWindowDock
Componente que pode ser acoplado a um TMainDock.
Atenção!
Este componente não é suportado pelo TOTVS | SmartClient HTML.
TSrvObject -> TControl -> TWindowDock
New
Método construtor da classe.
TWindowDock(): New ( [ nRow], [ nCol], [ nWidth], [ nHeight], < cText>, < oWnd>, [ lFloat], [ nPosition], [ lClosable], [ lMovable], [ lFoatable] ) --> oObjeto
Nome | Tipo | Descrição | Obrigatório | Referência |
nRow | Numérico | Indica a coordenada vertical em pixels. | ||
nCol | Numérico | Indica a coordenada horizontal em pixels. | ||
nWidth | Numérico | Indica a largura em pixels do objeto. | ||
nHeight | Numérico | Indica a altura em pixels do objeto. | ||
cText | Caractere | Define o título que será utilizado como cabeçalho do componente. | X | |
oWnd | Objeto | Indica a janela ou controle visual onde o objeto será criado. | X | |
lFloat | Lógico | Indica se o componente será flutuante e não acoplado. | ||
nPosition | Numérico | Código da posição de alinhamento do componente. | ||
lClosable | Lógico | Indica se o componente poderá ser fechado. | ||
lMovable | Lógico | Indica se o componente poderá se mover para ser acoplado em outras posições. | ||
lFoatable | Lógico | Indica se o componente poderá ser mudado de flutuante para acoplado e vice-versa. |
oObjeto()
- Retorna o objeto criado.
O código de posição onde o componente será acoplado se de acordo com:
1 = Abrangendo todo o componente pai;
2 = Alinhado a esquerda;
3 = Alinhado a direita;
4 = Alinhado ao topo;
5 = Alinhado abaixo.
oWindowDock := TWindowDock():New( 0, 0, 120, 90, "Título", oMainDock, .F. 1, .T., .T., .T. )
AddWidget
Adiciona um componente para dentro deste.
TWindowDock(): AddWidget ( < oComponente> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
oComponente | Objeto | Componente que será adicionado dentro deste. | X |
Exemplo
oMultiGet := TMultiGet():New(...)
oWindowDock:AddWidget( oMultiGet )
SetFeatures
Redefine algumas propriedades deste componente.
TWindowDock(): SetFeatures ( [ lClosable], [ lMovable], [ lFoatable] ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
lClosable | Lógico | Redefine se este componente poderá ser fechado. | X | |
lMovable | Lógico | Redefine se o componente poderá ser movido e acoplado em outras posições. | X | |
lFoatable | Lógico | Redefine se o componente será flutuante. | X |
oWindowDock():SetFeatures( .T., .F., .T. )
Exemplo completo do componente
#Include "TOTVS.CH" // Propriedades de alinhamento do TWindowDock #Define AllAlign 1 #Define LeftAlign 2 #Define RightAlign 3 #Define TopAlign 4 #Define BottomAlign 5 // -------------------------------------------- // Exemplo de janelas do tipo destacavel (Dock) // -------------------------------------------- Function u_TstDock() Private oMainDock Private DockDlg1 Private DockDlg2 Private DockDlg3 Private cTGet1 := "Teste TGet 01" Private cTGet2 := "Teste TGet 02" Private nJanela := 0 DEFINE DIALOG oDlgMain FROM 10,10 TO 800,800 TITLE "Exemplo TMainDock/TWindowDock" PIXEL COLOR CLR_BLACK,RGB(212,208,200) oPanelLeft := tPanel():New(0,0,"",oDlgMain,,,,,RGB(132,172,196),06,06) oPanelLeft:align := CONTROL_ALIGN_LEFT oDlg := tPanel():New(0,0,"",oDlgMain,,,,,RGB(132,172,196),100,100) oDlg:align := CONTROL_ALIGN_ALLCLIENT // Splitter para montagem da tela oSplitter := tSplitter():New( 0,0,oDlg,260,184 ) oSplitter:align := CONTROL_ALIGN_ALLCLIENT // o TMainDock é uma Classe do tipo Painel que pode receber // janelas destacaveis da Classe TWindowDock oMainDock := TMainDock():New(0,0,300,100,oSplitter) oMainDock:align := CONTROL_ALIGN_LEFT style := " QMainWindow{margin-right: 5px}" style += " QMainWindow::separator {background: rgb(132,172,196); width: 10px; height: 10px; } " oMainDock:SetCss(style) // Define o objeto central da TMainDock, que pode ser qualquer // objeto visual, no exemplo foi usado um TMultiget cTMultiget1 := "TMultiget inserido pelo método setCentralWidget()" oTMultiget1 := TMultiget():New(00,00,{|u|if(Pcount()>0,cTMultiget1:=u,cTMultiget1)},; oMainDock,400,400,,,,,,.T.) oMainDock:setCentralWidget( oTMultiget1 ) // Painel lateral para os botões auxiliares oPaneAux := TPanel():New(0,0,"",oSplitter,,.F.,.F.,,,200,200,.T.,.F.) oPaneAux:align := CONTROL_ALIGN_ALLCLIENT // Botões para auxiliar na criação dos Docks TButton():New(02,02," Cria TWindowDock à Esquerda ",oPaneAux,{|| NewDock(LeftAlign, .F.) },96,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New(12,02," Cria TWindowDock a Direita ",oPaneAux,{|| NewDock(RightAlign, .F.) },96,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New(22,02," Cria TWindowDock ao Topo ",oPaneAux,{|| NewDock(TopAlign, .F.) },96,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New(32,02," Cria TWindowDock ao Rodapé ",oPaneAux,{|| NewDock(BottomAlign, .F.) },96,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New(52,02," Cria TWindowDock Destacado ",oPaneAux,{|| NewDock(AllAlign, .T.) },96,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New(62,02," A Direita sem restrição",oPaneAux,{|| ; dockAux:=NewDock(AllAlign,.F.),oMainDock:addDockWidget(dockAux,RightAlign) }; ,96,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New(72,02," Conout ",oPaneAux,{|| conout("") },96,010,,,.F.,.T.,.F.,,.F.,,,.F. ) ACTIVATE DIALOG oDlgMain CENTERED ON INIT ( NewDock(LeftAlign,.F.) ) Return // -------------------------------------------- // Função para criar janelas do tipo Dock // -------------------------------------------- Static Function NewDock(nType, isFloat) nJanela++ cTexto := "Caption Janela: " + strZero(nJanela,2) // Cria janela do tipo Dock DockDlg := TWindowDock():New( 0,0,200,300,cTexto,oMainDock,isFloat,nType ) style += " QDockWidget{ margin: 50px; color: #0052AF; titlebar-close-icon: url(rpo:fwocn_lyr_close.png); titlebar-normal-icon: url(rpo:fwocn_lyr_restore.png); }" style += " QDockWidget::title{ background-color: rgb(132,172,196); border-style: solid; "+; " border-image: url(rpo:fwstd_lyr_title.png) 10 10 10 10 stretch; "+; " border-top-width: 06px; "+; " border-left-width: 10px; "+; " border-right-width: 10px; "+; " border-bottom-width: 0px; }" DockDlg:SetCss(style) // CodeBlocks de troca de "Dock" da janela e fechamento da janela DockDlg:bChange := {|x| conout('TWindowDock - bChange: ' + iif(x,"Destacada(True)","Ancorada(False)")) } DockDlg:bValid := {| | conout('TWindowDock - bValid') } // Insere painel na TWindowDock // OBS: Painel deve ser adicionado a janela atravez do método addWidget() // e os objetos visuais da janela devem ser inseridos neste painel oPanelTop := tPanel():New(0,0,"",DockDlg,,,,,RGB(132,172,196),100,100) oPanelTop:SetCss("QLabel{border: 1px solid #7B92A0;}") DockDlg:addWidget(oPanelTop) //******************************************************* // IMPORTANTE: O método addDockWidget() deve ser chamado // após a criação do Painel, para que haja ajuste do // tamanho da janela TWindowDock //******************************************************* //******************************************************* // Se a janela TWindowDock for criada Ancorada // ela deve obrigatoriamente ser inserida na TMainDock // atraves do metodo addDockWidget() //******************************************************* if !isFloat oMainDock:addDockWidget( DockDlg, nType ) endif //------------------------------------------------------- // Cria objetos no Painel que foi inserido no TWindowDock oTGet1 := TGet():New( 02,02,{||cTGet1},oPanelTop,096,009,; "",,0,,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F.,,cTGet1,,,, ) oTGet1:bValid := {|| conout("Valid do oTGet1") } oTGet2 := TGet():New( 14,02,{||cTGet2},oPanelTop,096,009,; "",,0,,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F.,,cTGet2,,,, ) oTGet2:bValid := {|| conout("Valid do oTGet2") } oBtnDock := TButton():New(28,02,"Botão: "+strZero(nJanela,2),oPanelTop,; {|| conout("Botão Precionado") },; 50,14,,,.F.,.T.,.F.,,.F.,,,.F. ) //------------------------------------------------------- Return( DockDlg )
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas