Informační tok Funkční structura Datová struktura ER model Modulová struktura Typová struktura Relační model Dokumentace


[Celkový datový model] [Funkce] [Externí rohraní] [Stavové diagramy] [Datové elementy] [Entity] [Relace]
[Databáze] [Události] [Materiály] [Generovací funkce] [Vyhodnocovací funkce] [Konfigurace] [Uživatelé] [Projekt] [Home]



Vyhodnocovací funkce
FunctionstructureMap
(Web Publishing)


Vytvořeno: 04-15-1997 11:08:21
Poslední změna: 01-07-2003 14:19:11

Generates HTML <MAP> sections for the element trees of the function structure.

Modul

Module: Web Publishing

Zdrojový kód:

PROCEDURE FunctionstructureMap(Name$, Page%, BYREF PageWasGenerated!)
BEGIN
/*
 * Generate map for function structure page
 *
 */

    PageWasGenerated! = TRUE;

    FOREACH Functionstructure AS AliasFS WHERE Name = Name$ DO
      CALL GenMapHeader("map_page" + Str$(Page%));
    
      //we need to find the coord of the most left box in advance
      leftmost% = 286; //highest possible value, root element (286, 15)
      FOREACH Func WHERE Fsd = AliasFS.Name AND Page = Page% AND X < leftmost% ORDER BY X DO
        leftmost% = X;
        BREAK;
      END
      FOREACH Cond WHERE Fsd = AliasFS.Name AND Page = Page% AND X < leftmost% ORDER BY X DO
        leftmost% = X;
        BREAK;
      END
      FOREACH Block WHERE Fsd = AliasFS.Name AND Page = Page% AND X < leftmost% ORDER BY X DO
        leftmost% = X;
        BREAK;
      END
      FOREACH Part WHERE Fsd = AliasFS.Name AND Page = Page% AND X < leftmost% ORDER BY X DO
        leftmost% = X;
        BREAK;
      END

      FOREACH Func AS AliasFunc WHERE Fsd = AliasFS.Name AND Page = Page% ORDER BY X, Y DO
        CALL H_CaseBoxCoorToImageCoor(leftmost%, X, Y, ulc_x%, ulc_y%);
        FOREACH Function WHERE Name = AliasFunc.Function DO
          CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y%, ulc_x% + 80, ulc_y% + 52);
        END
      END

      FOREACH Part AS AliasPart WHERE Fsd = AliasFS.Name AND Page = Page% ORDER BY X, Y DO
        CALL H_CaseBoxCoorToImageCoor(leftmost%, X, Y, ulc_x%, ulc_y%);
        FOREACH Functionstructure WHERE Name = AliasPart.Name DO
          CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y% , ulc_x% + 80, ulc_y% + 52);
        END
      END

      // link to parent page
      IF Page% > 1 THEN
        FOR Blockpage WHERE Fsd = AliasFS.Name AND Page = Page% DO
            CALL H_CaseBoxCoorToImageCoor(leftmost%, 286, 15, ulc_x%, ulc_y%);
            CALL GenMapRectByName("", "#FsdPage" + Str$(Blockpage.Blockpage), "Stránka funkční struktury "
                                    + Str$(Blockpage.Blockpage), ulc_x%, ulc_y%, ulc_x% + 80, ulc_y% + 52);
        END
        FOR Funcpage WHERE Fsd = AliasFS.Name AND Page = Page% DO
          FOR Func AS AliasFunc WHERE Fsd = AliasFS.Name AND Page = Funcpage.Funcpage AND Funcno = Funcpage.Funcno DO
            CALL H_CaseBoxCoorToImageCoor(leftmost%, 286, 15, ulc_x%, ulc_y%);
            FOR Function WHERE Name = AliasFunc.Function DO
               CALL GenMapRect(Object, Conv$(Boxname), ulc_x%, ulc_y%, ulc_x% + 80, ulc_y% + 52);
            END
          END
        END
      END

      // link to child page
      FOREACH Blockpage WHERE Fsd = AliasFS.Name AND Blockpage.Blockpage=Page% DO
        FOR Block WHERE Fsd = AliasFS.Name AND Page = Page% AND Block.Blockno = Blockpage.Blockno DO
            CALL H_CaseBoxCoorToImageCoor(leftmost%, X, Y, ulc_x%, ulc_y%);
            CALL GenMapRectByName("", "#FsdPage" + Str$(Blockpage.Page), "Stránka funkční struktury "
                                    + Str$(Blockpage.Page), ulc_x%, ulc_y%, ulc_x% + 80, ulc_y% + 52);
        END
      END
      
      CALL GenMapFooter();
    END
  
END


Generováno: 16.10.2003 7:41 Systém: C:\Documents and Settings\hajsman\Dokumenty\Vyuka\Irs2\Projekt case40\Projekt03.csf Generováno systémem case/4/0
Vygeneroval: Administrator Soubor: C:\Documents and Settings\hajsman\Dokumenty\Vyuka\Irs2\Projekt case40\html\31051.htm (C) microTOOL GmbH 2002