Třída:        cApplet

Třída cApplet a její jediná instance je slouží jako základna Freelance aplikace. HTML prohlížeč vyvolává aplet freelance/cApplet.class, anebo jeho potomka. Tento aplet představuje kořen stromu vizuálních objektů, který zahrnuje pracovní plochy ( objekty třídy cDesktop ), ve kterých se dále vytvářejí menu ( třída cMenu ) a formuláře ( cForm a následníci ). V drtivé většině aplikací není nutné třídu cApplet překrývat. Funkcionalitu aplikace lze odvozovat od aplikačního validátoru ( potomek třídy cUniEval ). V rámci inicializace apletu se načtou zdroje aplikace, vytvoří pracovní plocha a ovládací systém.

Objekt třídy cApplet je v celé aplikaci unikátní a z drtivé většiny jiných tříd je přístupný automaticky inicializovanou proměnnou applet. Nejčastěji používané exportované metody jsou Pomocné metody popsané níže.

 

Členské proměnné třídy

public      cResource   resources;

odkaz na objekt resources, který obsahuje definice menu, toolbarů, pojmenovaných textů, obrázků, startovacích nabídek apod.

Následující sada konstant jsou výsledky metod errMsg(...), warnMsg(...), a yesNoCancel(...).

public      static final int  DLGRES_OK         = 1;
public      static final int  DLGRES_CANCEL     = 0;
public      static final int  DLGRES_YES        = 1;
public      static final int  DLGRES_NO         = -1;

Následující sada konstant jsou standardní kódy menu Id.

public      static final int  MSG_NEW           = 1;
public      static final int  MSG_DELETE        = 2;
public      static final int  MSG_OPEN          = 3;
public      static final int  MSG_FIND          = 4;
public      static final int  MSG_RELATED       = 5;
public      static final int  MSG_COPYROW       = 6;
public      static final int  MSG_FILTER        = 7;
public      static final int  MSG_FIRST         = 8;
public      static final int  MSG_PREV          = 9;
public      static final int  MSG_NEXT          = 10;
public      static final int  MSG_LAST          = 11;
public      static final int  MSG_OK            = 12;
public      static final int  MSG_CANCEL        = 13;
public      static final int  MSG_USE           = 14;

public      static final int  MSG_LOGON         = 16;
public      static final int  MSG_MAXIMIZE      = 17;
public      static final int  MSG_RESTORE       = 18;
public      static final int  MSG_SAVE          = 19;
public      static final int  MSG_NEWDESKTOP    = 20;
public      static final int  MSG_NEXTDESKTOP   = 21;
public      static final int  MSG_DELDESKTOP    = 22;
public      static final int  MSG_ZOOMIN        = 23;
public      static final int  MSG_ZOOMOUT       = 24;
public      static final int  MSG_BROWSEVIEW    = 25;
public      static final int  MSG_PAD           = 26;
public      static final int  MSG_PRINT         = 27;
public      static final int  MSG_WFX           = 28;
public      static final int  MSG_WTX           = 29;
public      static final int  MSG_WRO           = 30;
public      static final int  MSG_VIEWX         = 31;
public      static final int  MSG_DETAIL        = 32;

Následující sada konstant definuje barevné schéma aplikace.

public      static      Color menuColor = new Color( 224, 216, 192 );
public      static      Color selMenuColor = new Color( 48, 0, 152 );
public      static      Color formColor = new Color( 192, 208, 224 );
public      static      Color tabColor    = new Color( 48, 96, 112 );
public      static      Color activeTabColor    = new Color( 0, 128, 128 );
public      static      Color activeColor = new Color( 48, 0, 152 );
public      static      Color passiveColor = new Color( 0, 128, 128 );
public      static      Color browseBkColor = new Color( 255, 255, 255 );
public      static      Color browseSelBkColor = new Color( 192, 192, 192 );
public      static      Color browseCursorColor = new Color( 128, 192, 255 );
public      static      Color browseGridColor = new Color( 128, 192, 224 ); 

Členské metody třídy ( publikovaná část )

Obrázky, soubory, URL

public      Image getDocImage(String path )

tato metoda vrací URL objekt na základě relativního URL.

public      URL   getFileURL( String localFile )

tato metoda vrací URL objekt na základě lokální cesty k souboru.

public      void openDocument( URL url )

metoda otevře nové okno browseru a zobrazí v něm objekt identifikovaný URL.

public      void openFastXDocument( String task, String params )

metoda otevře nové okno browseru a zobrazí v něm objekt identifikovaný FastX taskem a parametry. Params je soubor parametrů formátovaných metodou par().

public      void openFastXDocumentIn( String task, String params, String inWindow )

metoda zobrazí v okně se jménem inWindow objekt identifikovaný FastX taskem a parametry. Params je soubor parametrů formátovaných metodou par().

 

Zdroje aplikace

Každá Freelance aplikace pracuje se sadou zdrojů, například pojmenovanými řetězci, menu, obrázky a podobně. Třída cApplet definuje sadu metod pro přístup ke zdrojům:

public      String getResourceText( String namePath )

metoda vrací text pojmenovaného řetězce.

public      Image getResourceImage( String namePath )

metoda vrací objekt pojmenovaného obrázku.

public      cResource loadResource( String urlPath )

metoda načte ze serveru a vytvoří interní reprezentaci objektů se zdroji. URL musí odkazovat na soubor v XIF formátu. Metoda je indiferentní vůči sémantice (prostě se nestará o obsah XIF souboru), načte soubor a vytvoří podle něj hierarchii cResource objektů. Vrací objekt kořene této hierarchie.

 

Pracovní plochy, login, připojení k databázi

public      boolean connected()

metoda vrací true, pokud je aplikace úspěšně připojena k databázi.

public      boolean connectOk()

metoda vrací true, pokud je aplikace úspěšně připojena k databázi. V opačném případě ohlásí uživateli chybu a vrátí false.

public      void newDesktop()

metoda vytvoří a aktivuje novou pracovní plochu

public      void nextDesktop()

metoda přepne aktivní pracovní plochu

public      void deleteDesktop()

metoda odstraní aktivní pracovní plochu, není-li jedinou.

public      void logon()

tato metoda uzavře všechny formuláře a vyvolá nový login.

UI metody

public      int setStatus( String txt )

tato metoda zobrazí ve stavovém řádku zadaný text.

public      void setStatusName( String strName )

tato metoda zobrazí ve stavovém řádku zadaný pojmenovaný text.

public      void resetStatus()

tato metoda zruší poslední nastavený text ze stavového řádku.

public      int   okBox( String text, String title )

metoda otevře dialog s tlačítkem Ok, zadaným textem a titulkem

public      int   okCancelBox( String text, String title )

metoda otevře dialog s tlačítky Ok, Storno, zadaným textem a titulkem. Metoda vrací DLGRES_OK anebo DLGRES_CANCEL v závislosti na tom, které tlačítko uživatel stiskl.

public      int   yesNoBox( String text, String title )

metoda otevře dialog s tlačítky Ano, Ne, zadaným textem a titulkem. Metoda vrací DLGRES_YES anebo DLGRES_NO v závislosti na tom, které tlačítko uživatel stiskl.

public      int   yesNoCancelBox( String text, String title )

metoda otevře dialog s tlačítky Ano, Ne, Storno, zadaným textem a titulkem. Metoda vrací DLGRES_YES, DLGRES_NO anebo DLGRES_CANCEL v závislosti na tom, které tlačítko uživatel stiskl.

public      int   errMsg( String strName )

metoda otevře dialog s tlačítkem Ok, zadaným pojmenovaným řetězcem a titulkem "Chyba"

public      int   warnMsg( String strName )

metoda otevře dialog s tlačítkem Ok, zadaným pojmenovaným řetězcem a titulkem "Varování"

public      int   infoMsg( String strName )

metoda otevře dialog s tlačítkem Ok, zadaným pojmenovaným řetězcem a titulkem "Upozornění"

public      int   yesNo ( String strName )

metoda otevře dialog s tlačítky Ano, Ne, zadaným pojmenovaným řetězcem a "Potvrzení". Metoda vrací DLGRES_YES anebo DLGRES_NO v závislosti na tom, které tlačítko uživatel stiskl.

public      int   yesNoCancel( String strName )

metoda otevře dialog s tlačítky Ano, Ne, Storno, zadaným pojmenovaným řetězcem a "Potvrzení". Metoda vrací DLGRES_YES, DLGRES_NO anebo DLGRES_CANCEL v závislosti na tom, které tlačítko uživatel stiskl.

Vytváření a spouštění dynamických objektů

public      void wtx( String name )

tato metoda otevře zadanou WTX tabulku.

public      void wroIn( String params, String inWindow )

tato metoda zobrazí zadaný WRO report v pojmenovaném okně browseru. Params=<jméno souboru>[další parametry formátované funkcí par()]

public      void wro( String params )

tato metoda otevře nové okno browseru a v něm zobrazí zadaný WRO report. Params=<jméno souboru>[další parametry formátované funkcí par()]

public      void hpIn( String params, String inWindow )

tato metoda zobrazí zadanou hp stránku v pojmenovaném okně browseru. Params=<jméno souboru>[další parametry formátované funkcí par()]

public      void hp( String params )

tato metoda otevře nové okno browseru a v něm zobrazí zadanou hp stránku. Params=<jméno souboru>[další parametry formátované funkcí par()]

public      void secure_wro( String params )

tato metoda otevře nové okno browseru a v něm zobrazí zadaný WRO report. Data jsou přenášena aktuálně zvoleným kódovacím či šifrovacím protokolem (FTT/FST). Params=<jméno souboru>[další parametry formátované funkcí par()]

public      void secure_hp( String params )

tato metoda otevře nové okno browseru a v něm zobrazí zadanou hp stránku. Data jsou přenášena aktuálně zvoleným kódovacím či šifrovacím protokolem (FTT/FST). Params=<jméno souboru>[další parametry formátované funkcí par()]

public      void wfx( String name )

tato metoda otevře zadaný WFX formulář.

public      void viewx( String params )

tato metoda otevře nové okno browseru a v něm zobrazí výsledek zadaného FastX scriptu. Params=<jméno souboru>[další parametry formátované funkcí par()]

 

Virtuální metody

public      void createDesktop()

tato metoda je volaná frameworkem a má za úkol vytvořit prvotní pracovní plochu.

public      void createLogon()

tato metoda je volaná frameworkem a má za úkol vytvořit login dialog.

public  void onMenu( cMenu menu )
tato metoda je volaná frameworkem a implementuje odezvy na jednotlivé příkazy menu a desktop commanderu. Standardní implementace obhospodařuje příkazy:
MSG_LOGON, MSG_MAXIMIZE, MSG_RESTORE, MSG_NEWDESKTOP, MSG_NEXTDESKTOP, MSG_DELDESKTOP, MSG_WFX, MSG_WRO, MSG_WTX, MSG_VIEWX. 
Zpracování příkazu probíhá nasledujícím způsobem:
- pokud je definován applet-uniEval, tedy aplikační validátor, je volána jeho metoda onMenu(). Vrátí-li tato metoda true, znamená to, že příkaz byl obsloužen a zpracování příkazu je ukončeno.

 
 
– je-li příkaz jedním z výše zmíněných, je zpracován a metoda je ukončena

 
 
– není-li příkaz jedním z výše zmíněných a je-li otevřen nějaký formulář, je volána metoda onMenu() aktivního formuláře
Jednotlivé aplikace by měly implementovat a zaregistrovat ( v bloku Applet, položka uniEval aplikačních zdrojů ) vlastní aplikační validátor, ( potomek třídy cUniEval ).

 

Další metody

Tyto metody jsou většinou deklarovány jako statické, neboť nepracují s vlastním objektem třídy cApplet. Tato třída je jako centrální a tudíž nejpřístupnější objekt celé aplikace definuje. Statické metoda lze v Javě volat přímo, tj. bez nutnosti deklarovat proměnné určité třídy. Syntaxe volání je <název třídy>.<název statické metody>(), např.

if ( cApplet.nullStr( s1 ) ) ... ;

public static String  par( String parName, String value )

metoda vrací formátovaný parametr pro FastX server ( |<parName>=<value> ). Slouží k přehlednému sestavování parametrů FastX příkazů. spouštěných metodami jako <cRequester>.fastx(), openFastXDocument(), openFastXDocumentIn(), wro() apod. Metoda je identická s cUniEval.par().

Příklady:

openFastXDocument( "x", par( "Name", "xmodule1" ) + par( "ID", "1" ) + par( "DATE", "1.1.2001" ) );
wro( "report1.wro" + par( "PARTNER", "%" ) + par( "DATE", "1.1.2001" ) );
hp( "homepage.hp" + par( "USER", "?" ) + par( "DATE", "1.1.2001" ) );

public static boolean nullStr( String s )

tato metoda vrací true, je-li zadaný String null anebo "".

public static String  defStr( String s )

metoda vrací identický String, který zaručeně není null; je-li původní null, vrátí "".

public static String  string2WEB( String s )

metoda vrací identický String, převedený do formátu zpracovatelného HTTP serverem. Používá se ke konverzi parametrů http příkazů, které jsou posílány aplikací FastX serveru.

public static int     string2int( String s )

metoda konvertuje celé číslo reprezentované řetězcem na int.

public static double  string2double( String s )

metoda konvertuje reálné číslo reprezentované řetězcem na double.

public static String  formatDouble( double d, int decimals, String divider )

metoda formátuje reálné číslo. Výsledek má požadovaný počet desetinných míst a tisíce odděleny zvoleným znakem (parametr divider).

public static String [] strTokenize( String s, String delim )

metoda vrací pole Stringů obsahující části zadaného řetězce s vzniklé jeho rozdělením oddělovačem delim. 

public static String    strGather( String as[], String delim )

metoda vrací String složený z prvků pole as oddělených řetězcem delim.

public static boolean strInList( String list, String s, String delim )

metoda vrací true, je-li v textovém seznamu list, kde jsou jednotlivé položky odděleny znakem delim, nalezen řetězec s. 

public String    replacePublicMetaSymbols ( String s )

Parametrem metody je řetězec, který může obsahovat PUBLIC metasymboly. Metoda vrací String, ve kterém jsou metasymboly nahrazeny aktuálními hodnotami.