21.29 Tableview Interface

ORIGIN '~beta/guienv/guienv';
INCLUDE '~beta/guienv/graphics';
BODY 'private/tableviewbody';
-- windowLib: Attributes --
tableView: canvas
  (#
     <<SLOT tableViewLib:Attributes>>;
     tableItemType:< tableItem;
     abstractColumn: interfaceObject
       (#
          <<SLOT abstractColumnLib:Attributes>>;
          title:
            (# value: ^text; 
            enter
              (#  enter value[] ... #)
            exit
              (# 
              ...
              exit value[]
              #)
            #);
          width:
            (# value: @integer; 
            enter (#  enter value ... #)
            exit (#  ... exit value #)
            #);
          less:< booleanValue
            (#
               left,right: ^tableItemType;
               leftData,rightData: ^text;
               doneInInner: @boolean;
               
            enter (left[],right[])
            ...
            #);
          open::< (# 
            ...
            #);
          close::<  (#  ... #);
          eventHandler::< 
            (#
               drawTitleEvent: event
                 (#
                    g: ^graphics;
                    bounds: ^rectangle;
                    
                 enter (g[],bounds[])
                 do INNER ; 
                 #);
               onDrawTitle:< drawTitleEvent;
               drawItemEvent: event
                 (#
                    g: ^graphics;
                    bounds: ^rectangle;
                    theTableItem:
                      ^tableItemType;
                    data: ^text;
                    
                 enter (g[],bounds[],theTableItem[],data[])
                 do INNER ; 
                 #);
               onDrawItem:< drawItemEvent;
               
            #);
          private: @...;
          
       #);
     appendColumn:
       (#
          theColumn: ^abstractColumn; 
       enter theColumn[]
       ...
       #);
     insertColumn:
       (# theColumn: ^abstractColumn; after: ^abstractColumn; 
       enter (theColumn[],after[])
       ...
       #);
     deleteColumn:
       (# theColumn: ^abstractColumn; 
       enter theColumn[]
       ...
       #);
     horizontalScrollbarVisible:
       (# visible: @boolean; 
       enter
         (# 
         enter visible
         ...
         #)
       exit
         (# 
         ...
         exit visible
         #)
       #);
     verticalScrollbarVisible:
       (# visible: @boolean; 
       enter
         (# 
         enter visible
         ...
         #)
       exit
         (# 
         ...
         #)
       #);
     changeHiliteColor:
       (# aColor: @Color
       enter aColor
       ...
       #);
     columnWithIconType:<
      abstractColumn
       (#
          eventHandler::< 
            (#
               onDrawTitle::< 
                 (#  ... #);
               onDrawItem::< 
                 (# 
                 ...
                 #);
               
            #);
          
       #);
     columnWithIcon: @columnWithIconType;
     alignLeft: (#  exit 1 #);
     alignRight: (#  exit 2 #);
     column: abstractColumn
       (#
          <<SLOT columnnLib:Attributes>>;
          alignment:
            (# value: @integer; 
            enter
              (# 
              enter value
              ...
              #)
            exit (#  ... exit value #)
            #);
          open::< 
            (# 
            ...
            #);
          close::< 
            (# 
            ...
            #);
          eventHandler::< 
            (#
               onDrawTitle::<  (#  ... #);
               onDrawItem::< 
                 (# 
                 ...
                 #);
               
            #);
          private: @...;
          
       #);
     tableItem: interfaceObject
       (#
          <<SLOT tableItemLib:Attributes>>;
          mainText:
            (# value: ^text; 
            enter (#  enter value[] ... #)
            exit (#  ... exit value[] #)
            #);
          icon:
            (# theIcon: ^pixmap; 
            enter (#  enter theIcon[] ... #)
            exit
              (# 
              ...
              exit theIcon[]
              #)
            #);
          setColumnText:
            (# theColumn: ^abstractColumn; value: ^text; 
            enter (theColumn[],value[])
            ...
            #);
          getColumnText:
            (#
               theColumn:
                 ^abstractColumn;
               value: ^text;
               
            enter theColumn[]
            ...
            exit value[]
            #);
          textIndent:
            (# value: @integer; 
            enter (#  enter value ... #)
            exit (#  ... exit value #)
            #);
          iconIndent:
            (# value: @integer; 
            enter (#  enter value ... #)
            exit (#  ... exit value #)
            #);
          selected: booleanValue (#  ... #);
          eventHandler::< 
            (#
               selectEvent: event
                 (#  do INNER ;  #);
               onSelect:< selectEvent
                 (# doubleClick: @boolean; 
                 enter doubleClick
                 do INNER
                 #);
               deSelectEvent: event
                 (# do INNER #);
               onDeSelect:< deSelectEvent
            #);
          open::< 
            (# 
            ...
            #);
          close::<  (#  ... #);
          private:
            @...;
          
       #);
     append:
       (# theTableItem: ^tableItemType; 
       enter theTableItem[]
       ...
       #);
     prepend:
       (# theTableItem: ^tableItemType; 
       enter theTableItem[]
       ...
       #);
     delete:
       (# theTableItem: ^tableItemType; 
       enter theTableItem[]
       ...
       #);
     insert:
       (#
          theTableItem: ^tableItemType;
          after: ^tableItemType;
          
       enter (theTableItem[],after[])
       ...
       #);
     scan: (# current: ^tableItemType;  ... #);
     deleteSelection:
       (# 
       ...
       #);
     selection: @
       (#
          set:
            (# theTableItem: ^tableItemType; 
            enter theTableItem[]
            ...
            #);
          add:
            (#
               theTableItem:
                 ^tableItemType;
               
            enter theTableItem[]
            ...
            #);
          remove:
            (#
               theTableItem:
                 ^tableItemType;
               
            enter theTableItem[]
            ...
            #);
          clear:
            (# 
            ...
            #);
          scan:
            (# current: ^tableItemType; 
            ...
            #);
          
       #);
     theScroll:
       (# x,y: @integer; 
       enter
         (# 
         enter (x,y)
         ...
         #)
       exit (#  ... exit (x,y) #)
       #);
     scroll:
       (# dX,dY: @integer; 
       enter (dX,dY)
       ...
       #);
     maxScroll:
       (# maxX,maxY: @integer; 
       ...
       exit (maxX,maxY)
       #);
     sortByColumn:
       (# theColumn: ^column; 
       enter
         (# 
         enter theColumn[]
         ...
         #)
       exit (#  ... exit theColumn[] #)
       #);
     open::<  (#  ... #);
     close::< 
       (#  ... #);
     eventHandler::<
      
       (#
          onFrameChanged::<  (#  ... #);
          onMouseUp::<  (#  ... #);
          
       #);
     private:
       @...;
     
  #)


21.29 Tableview Interface
© 1994-2002 Mjølner Informatics
[Modified: Thursday October 18th 2001 at 13:04]