Otevření/zavření okna

Toto je hlavní technické fórum pro diskusi o problémech při vytváření PROMOTIC aplikací a jejich řešení.

Otevření/zavření okna

Postby Hamak » Wed 05. May 2021 7:23:24

Dobrý den.
Potřebuji na základě hodnoty bool proměnné otevřít okno a následně ho zavřít, když proměnná opět změní hodnotu.

Obsah okna je typu PmaPanel.
K proměnné jsem si přidal datové rozšíření WriteAction a v události onItemAfterWrite okno otevřu voláním

Pm.CreateView(pMe.PmPanel, "/PopUpOdkaleni", "", "target:_blank;").Open();

Nyní bych potřeboval okno zavřít, když se proměnná opět překlopí.

Používám verzi Promotic 9.0.14.
Hamak
 
Posts: 18
Joined: Thu 17. Sep 2020 7:36:16

Re: Otevření/zavření okna

Postby Pavel Klimíček » Wed 05. May 2021 9:16:46

Dobrý den.
Řešení, které jste navrhl bude funkční pouze v lokální aplikaci.
a dá se vyřešit v události onItemAfterWrite takto:
Code: Select all
if (pEvent.Item.Name == "d0") // "d0" zamente za Vas nazev boolen promenne
{
   if (pEvent.Item.Value)
      Pm.CreateView(pMe.Pm("/Workspace"), "/PopUpOdkaleni", "", "target:_blank.pop;").Open();
   else
      Pm.WndOper(0, "_blank.pop", 10);
}


Pokud by obrazy musely fungovat i jako webová aplikace, pak to musíte řešit jinak.
Například založením pomocných "boolean" proměnných v PmgRoot obraze, který je trvale otevřen (například toolbar).
Jedná proměnná by se vazbou PP napojila na "bool" proměnnou v aplikaci a druhá by sloužila k identifikaci stavu (okno je již otevřeno nebo ne).
V "onRefresh" události bude sledovat zda došlo ke změně napojené hodnoty a tak reagovat zda "popup" okno otevřít (současně nastavit stav druhé proměnné aby nedocházelo k opakovaném otevírání okna).
O zavření se pak musí postarat samotné "Popup" okno.
To bude mít také v PmgRoot proměnnou napojenou na stejnou proměnnou v aplikaci.
V "onRefresh" události se bude sledovat její hodnota.
Pokud se změní její hodnota na "zavřeno" pak zavolá metodu pMe.Close("")
Pavel Klimíček
 
Posts: 73
Joined: Thu 13. Dec 2012 15:35:59

Re: Otevření/zavření okna

Postby Hamak » Wed 05. May 2021 9:59:17

Naprosto jasně vysvětleno.
Problém vyřešen.
Děkuji za pomoc.
Hamak
 
Posts: 18
Joined: Thu 17. Sep 2020 7:36:16


Return to Nevím jak...

Who is online

Users browsing this forum: No registered users and 2 guests

cron