Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Janela tipo Desktop Olá Pessoal! Nos meus projetos normalmente trabalho com o PROTOTYPE WINDOW - Class que permite adicionar uma janela dentro de um abiente html, conforme podem conferir no seguinte endereço: http://prototype-window.xilinus.com/ Dessa forma imita um ambiente desktop tranquilamente. Na versão anterior consigo renderizar um conteúdo dentro das janelas normalmente e gostaria...
ES
Janela tipo Desktop  
Fechado
Olá Pessoal!
Nos meus projetos normalmente trabalho com o PROTOTYPE WINDOW - Class que permite adicionar uma janela dentro de um abiente html, conforme podem conferir no seguinte endereço: <url>prototype-window.xilinus.com/</url>

Dessa forma imita um ambiente desktop tranquilamente.

Na versão anterior consigo renderizar um conteúdo dentro das janelas normalmente e gostaria de continuar utilizando.

Nessa nova versão não estou conseguindo renderizar os conteúdos dentro das janelas.

Se alguém tiver alguma idéia, favor compartilhar.

abs
Eliezer

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (20)


AN

Bom dia caro amigo, não conhecia este componente. Dei uma olhada por cima na documentação do mesmo. Parece bem bacana, mas não entendi sua pegunta. Quer renderiza os componentes do Adianti-Framework dentro desta janela?
Por que não usar o TWindow do próprio Framework ? particularmente eu acho bem funcional. Você pode criar controladores estendendo o TWindow ao invés do TPage. Em meus projetos tenho obtido ótimos resultados.

Att,
Ademilson
ES

Olá Ademilson,
o que mais me atrai nesse tipo de janela é a possibilidade de arrastar e então poder ter várias janelas abertas trabalhando concomitantemente.

Então se tiver a possibilidade de usar a TWindow com essa característica seria muito legal compartilhar conosco.

Obrigado pela atenção.
abs

Eliezer
ES

Caro Ademilson,
testei a usando TWindow e confesso que gostei d+ do resultado.
O framework está utilizando o jquery-ui pra renderizar a janela e tem possibilidade de arrastar mas a coloca em estado único, não podendo acessar outros links enquanto a janela estiver aberta.

Vou fazer outros testes na tentativa de alterar esses parâmetros. Caso tenha alguma idéia será muito bem-vinda.

abs
Eliezer
ES

Olá Ademilson,
consegui um ótimo resultado.
Alterei as classes TJQueryDialog e TWindow para aceitar mais um atributo que estava fixo, que era "modal=true", portanto alterei para que tivesse como valor padrão "True" mas que pudesse ser alterado no momento da construção da janela.

Agora me deparei com outro problema: Não consigo abrir outra janela sem que a primeira feche

Você teria alguma ideia?
Pablo, por favor, sua ajuda também é muito bem vinda!

abs
Eliezer
AN

Bom dia Eliezer,
Que bom que gostou do TWindow, confesso que nunca pensei em usar o componente dentro desta lógica. Vou fazer alguns testes, pois adorei sua ideia. Estou um tanto "corrido" com alguns prazos. Mas posto os resultados no decorrer do dia.

Forte abraço.

Ademilson
AN

Boa tarde Amigão
Seguinte fiz alguns testes aqui e estou conseguindo abrir uma janela sobre a outra normalmente, não precisei alterar nada no framework. Segue o código:
  1. <?php
  2. /**
  3.  * FormView Registration
  4.  * @author  Ademilson Nunes
  5.  */
  6. class FormView extends TWindow
  7. {
  8.     private $form;
  9.     private $datagrid;
  10.     private $pageNavigation;
  11.     private $loaded;
  12.         
  13.     
  14.     /**
  15.      * Class constructor
  16.      * Creates the page and the registration form
  17.      */
  18.     function __construct()
  19.     {
  20.         parent::__construct();
  21.         
  22.         // creates the form
  23.         $this->form = new TForm('form_');
  24.         
  25.         try
  26.         {
  27.             $ui = new TUIBuilder(500,500);
  28.             $ui->setController($this);
  29.             $ui->setForm($this->form);
  30.             
  31.       
  32.             $ui->parseFile('/var/www/Twindow/app/forms/form1.xml');
  33.             
  34.             $fields $ui->getWidgets();
  35.             foreach ($fields as $name => $field)
  36.             {
  37.                 if ($field instanceof TDataGrid)
  38.                 {
  39.                     $this->datagrid $field;
  40.                     $this->pageNavigation $this->datagrid->getPageNavigation();
  41.                 }
  42.             }
  43.             
  44.             $this->form->add($ui);
  45.             $this->form->setFields($ui->getFields());
  46.         }
  47.         catch (Exception $e)
  48.         {
  49.             new TMessage('error'$e->getMessage());
  50.         }
  51.         
  52.         parent::add($this->form);
  53.     }
  54.     
  55.     public function window()
  56.    {
  57.         
  58.         parent::__construct();
  59.         parent::setSize(200200);
  60.         parent::setTitle('Bricando com o TWindow');
  61.         parent::add(new TLabel('ola Eliezer!'));
  62.         
  63.    }       
  64. }
  65. ?>


Código XML para o FORM

<?xml version="1.0" encoding="UTF-8"?>
<form>
<tframe id="0">
<class>TFrame</class>
<name>frame1</name>
<title/>
<x>65</x>
<y>35</y>
<width>338</width>
<height>169</height>
<child>
<tpanel>
<tlabel id="0">
<class>TLabel</class>
<name>nome</name>
<x>30</x>
<y>25</y>
<color>#000000</color>
<size>10</size>
<style></style>
<value>Nome</value>
</tlabel>
<tentry id="1">
<class>TEntry</class>
<name>entry1</name>
<x>95</x>
<y>20</y>
<value></value>
<mask></mask>
<width>204</width>
<editable>1</editable>
</tentry>
<tbutton id="2">
<class>TButton</class>
<name>button1</name>
<x>225</x>
<y>115</y>
<value>View</value>
<icon>ico_view.png</icon>
<action>window</action>
<template></template>
</tbutton>
</tpanel>
</child>
</tframe>
</form>


Repare que na ação
<action>window</action>
do Form estou "chamando" o método criado no controlador (FormView.class.php) "window" .

Testa ai e me avisa se deu certo, se precisar posto o exemplo completo pra você dar uma olhada.

Bons projetos

Att,
Ademilson
ES

Olá Ademilson,
testei sua versão, gostei muito e já me abriu novas possibilidades, porém a minha necessidade ainda não é essa.

Veja bem: eu preciso abrir dois forms diferentes com ações distintas. Um exemplo prático: estou desenvolvendo um sistema de controle de quadro de pessoal nas escolas estaduais e um dos pedidos é eu ter uma tela monitorando as quantidades de vagas disponíveis X preenchidas, enquanto esse monitor está aberto eu preciso ter outra tela aberta para fazer a captação dos professores e distribuição de aulas.

À medida que os professores são inseridos os dados do monitor são alterados.

Como você pode preceber no seu exemplo, ao abrir a nova janela a janela anterior ficou inacessível, o que não é interessante já que terei um menu para acessar as outras telas, mas esse problema já resolvi conforme postado acima.

Estou tentando várias coisas mas ainda não tive sucesso.

Mais uma vez obrigado pela atenção.

abs
Eliezer
AN

Bom dia,
Acho que entendi o que quer fazer, estou tentando desenvolver alguma coisa neste sentido usando o Framework. Mas até agora (assim como vc) não tive sucesso! vamos esperar o Pablo, tenho certeza que logo ele passa por aqui.
Por hora não sei se já conhece, eu usei esse componente em um projeto recentemente e fiquei 'apaixonado' pelas possibilidades. Da uma olhada :
www.dhtmlx.com/docs/products/docsExplorer/samples.shtml
dhtmlx.com/docs/products/dhtmlxConnector/index.shtml
www.dhtmlx.com/docs/products/visualDesigner/index.shtml?mn
www.dhtmlx.com/docs/products/dhtmlxSuite/index.shtml
www.dhtmlx.com/docs/download.shtml

Não deixe de ver htmlxConnector by Platform for PHP
Receio que lá tem quase tudo que precisa, para um sistema web com cara de Desktop.




ES

Olá Ademilson,
gostei muito desses componentes que você me indicou, porém achei a manutenção um tanto trabalhosa.

Também recebi seu e-mail sobre o novo componente e não respondi pelo grupo porque minha conta associada é hotmail e não consigo enviar e-mail, assim vou te responder por aqui mesmo:

eu estou estudando um outro componente que tem as mesmas funcionalidades desse AeroWindow e tem uma documentação muito boa, além de estar em continuidade. Veja ai: nagyervin.eu/njdesktop

abs.
Eliezer
PD

Oi Pessoal,

A primeira versão não foi projetada para abrir várias TWindow com ações distintas. Mas vou tentar encaixar isso na segunda versão se o cronograma permitir. Falta pouco para lançar.

abs!
Pablo
PD

Veja o arquivo:
app/lib/include/facade.js

Sempre que uma classe é filha de TWindow, o framework usa a dIv #adianti_online_content
para carregar seu conteúdo. E isso só funciona 1 vez, por que seu conteúdo é substituído.
AN

Ola Eliezer! realmente é muito trabalhoso rsrs. Obrigado pela dica estou lendo a documentação do nJDesktop.

Pablo, recebi seu e-mail obrigado pelas respostas.


att,
Ademilson Nunes
AM

olha estou usando esse framework para componentes visuais, www.jeasyui.com/ ele trabalha com resultados json, é muito simples de usar e da para usalo com o adianti framework
ES

Pessoal, resolvi meu problema sem maiores alterações no framework. Assim que der vou colocar um demo online porque explicar o que fiz é bastante extenso.

Obrigado a todos pela ajuda.
HP

Sei que esse tópico é antigo, mas ele evoluiu?
A classe TWindow permite multiplas janelas?
PD

Até dois níveis.
HP

Tem alguma documentação a respeito?
PD

Basta usar TWindow.
A partir da versão 2.0.0
HP

Valeu Pablo, vou testar.

O Tutor da 2.0 .0 demonstra esse novo recurso?
PD

Experimente fazer uma seek dentro de uma TWindow, deve funcionar bem.