Jump to content

REXX Tips & Tricks:Change the WPS with REXX

From EDM2

This section contains hints for using REXX to change the WPS.

WPS class hierarchy

This section contains the class tree for WARP 3 and WARP 4.

To get a list of all registered classes on your system use the function SysQueryClassList().

To get a hierarchical list of the WPS classes registered on your system you can use the Search-Button of the LaunchPad (or the entry Find ... in the WPS context menu) as follows:

  • Open the Find dialog
  • Push the More ... button in the Find dialog to open the Find Criteria dialog
  • Push the Add button in the Find Criteria dialog to open the Add Criteria dialog
  • Select Object Class for the field Attribute in the Add Criteria dialog
  • Now you can scroll the hierarchical list of the registered classes in the list box Comparison value.

In der deutschen Version von WARP oeffnet mensch hierfuer den Suchen Dialog (ueber den Suchen Button der Klickstartleiste oder ueber den Eintrag Suchen im Kontextmenue der WPS. Dort klickt mensch den Button Weitere und in den daraufhin erscheinenden Dialog den Button Hinzufuegen In diesen Dialog nun setzt mensch das Feld Merkmal auf ObjektKlasse. Nun kann in der Listbox Vergleichswert die hierarchische Liste der registrierten WPS Klassen durch gescrollt werden.

WARP Version 3 Class hierarchy

WPS Class hierarchy for WARP Version 3 (see also the WPS Class hierarchy for WARP 4).


CLASS NAME CLASS DEFINITION FILE
SOMObject somobj.idl
SOMClass somcls.idl
SOMClassMgr somcm.idl
WPObject wpobject.idl
WPAbstract wpabs.idl
WPClock wpclock.idl
WPCountry wpctry.idl
WPDisk wpdisk.idl
WPKeyboard wpkeybd.idl.idl
WPLaunchPad wplnchpd.idl
WPMouse wpmouse.idl
WPSchemePalette wppalet.idl
WPColorPalette wpclrpal.idl
WPFontPalette wpfntpal.idl
WPSchemePalette wpscheme.idl
WPPower wppower.idl
WPPrinter wpprint.idl
WPRPrinter wprprint.idl
WPProgram wppgm.idl
WPShadow wpshadow.idl
WPNetLink wpnetlnk.idl
WPShredder wpshred.idl
WPSound wpsound.idl
WPSpecialNeeds wpspneed.idl
WPSpool wpspool.idl
WPSystem wpsystem.idl
WPWinConfig wincfg.idl
WPFileSystem wpfsys.idl
WPDataFile wpdataf.idl
WPBitmap wpbitmap.idl
WebExplorer_Url
WPIcon wpicon.idl
WPMet wpmet.idl
WPPif wppif.idl
WPPointer wpptr.idl
WPProgramFile wppgmf.idl
WPCommandFile wpcmdf.idl
WPFolder wpfolder.idl
WPDesktop wpdesk.idl
WPDrives wpdrives.idl
WPMinWinViewer wpmwv.idl
WPNetgrp wpnetgrp.idl
WPNetwork wpnetwrk.idl
WPRootFolder wprootf.idl
WPServer wpserver.idl
WPSharedDir wpshdir.idl
WPStartup wpstart.idl
WPTemplates wptemps.idl
WPTransient wptrans.idl
WPJob wpjob.idl
WPPdr wppdr.idl
WPPort wpport.idl
WPQdr wpqdr.idl

(except for the classes marked with *. These are no standard WPS classes.)

WARP Version 4 Class hierarchy

WPS Class hierarchy for WARP Version 4 (see also the WPS Class hierarchy for WARP 3).


CLASS NAME                         CLASS DEFINITION FILE
SOMObject                                     somobj.idl
  ÃÄÄÄSOMClass                                somcls.idl
  ÃÄÄÄSOMClassMgr                             somcm.idl
  ³    ÀÄWPClassManager                       wpclsmgr.idl
  ÀÄÄÄWPObject                                wpobject.idl
        ÚÄÄÄÄÄWPAbstract                      wpabs.idl
        ³     ÃÄÄ WPClock                     wpclkm.idl
        ³     ÃÄÄ WPCountry                   wpctry.idl
        ³     ÃÄÄ WPDisk                      wpdisk.idl
        ³     ÃÄÄ WPLaunchPad                 wplnchpd.idl
        ³     ³     ÀÄÄSmartCenter
        ³     ÃÄÄ WPKeyboard                  wpkeybd.idl
        ³     ÃÄÄ WPMouse                     wpmouse.idl
        ³     ÃÄÄ WPPalette                   wppalet.idl
        ³     ³     ÃÄÄ WPColorPalette        wpclrpal.idl
        ³     ³     ÃÄÄ WPFontPalette         wpfntpal.idl
        ³     ³     ÀÄÄ WPSchemePalette       wpscheme.idl
        ³     ÃÄÄ WPPower                     wppower.idl
        ³     ÃÄÄ WPPrinter                   wpprint.idl
        ³     ³     ÀÄÄ WPRPrinter            wprprint.idl
        ³     ÃÄÄ WPProgram                   wppgm.idl
        ³     ÃÄÄ WPShadow                    wpshadow.idl
        ³     ³     ÀÄÄ WPNetLink             wpnetlnk.idl
        ³     ÃÄÄ WPShredder                  wpshred.idl
        ³     ÃÄÄ WPSound                     wpsound.idl
        ³     ÃÄÄ WPSpecialNeeds              wpspneed.idl
        ³     ÃÄÄ WPSpool                     wpspool.idl
        ³     ÃÄÄ WPSystem                    wpsystem.idl
        ³     ÀÄÄ WPWinConfig                 wincfg.idl
        ÃÄÄ WPFileSystem                      wpfsys.idl
        ³     ÃÄÄ WPDataFile                  wpdataf.idl
        ³     ³     ÃÄÄ WPHtml                wphtml.idl
        ³     ³     ÃÄÄ WPIcon                wpicon.idl
        ³     ³     ÃÄÄ WPImageFile           wpimage.idl
        ³     ³     ³      ÀÄÄ WPBitmap       wpbitmap.idl
        ³     ³     ÃÄÄ WPMet                 wpmet.idl
        ³     ³     ÃÄÄ WPPif                 wppif.idl
        ³     ³     ÃÄÄ WPPointer             wpptr.idl
        ³     ³     ÃÄÄ WPProgramFile         wppgmf.idl
        ³     ³     ³       ÀÄÄ WPCommandFile wpcmdf.idl
        ³     ³     ÃÄÄ WPUrl                 wpurl.idl
        ³     ÃÄÄ WPFolder                    wpfolder.idl
        ³     ³     ÃÄÄ WPDesktop             wpdesk.idl
        ³     ³     ÃÄÄ WPDrives              wpdrives.idl
        ³     ³     ÃÄÄ WPHost                 wphost.idl
        ³     ³     ÃÄÄ WPHwManager           wphwmgr.idl
        ³     ³     ÃÄÄ WPMinWinViewer        wpmwv.idl
        ³     ³     ÃÄÄ WPNetgrp              wpnetgrp.idl
        ³     ³     ÃÄÄ WPNetwork             wpnetwrk.idl
        ³     ³     ÃÄÄ WPRootFolder          wprootf.idl
        ³     ³     ÃÄÄ WPServer              wpserver.idl
        ³     ³     ÃÄÄ WPSharedDir           wpshdir.idl
        ³     ³     ÃÄÄ WPStartup             wpstart.idl
        ³     ³     ÃÄÄ WPTemplates           wptemps.idl
        ³     ³     ÀÄÄ WPUrlFolder           wpurlfdr.idl
        ÀÄÄ WPTransient                       wptrans.idl
              ÚÄÄ WPJob                       wpjob.idl
              ÃÄÄ WPDevice                    wpdevice.idl
              ³     ÃÄÄ WPDevAudio            wpaudio.idl
              ³     ÃÄÄ WPDevBus              wpbus.idl
              ³     ÃÄÄ WPDevCDRom            wpcdrom.idl
              ³     ÃÄÄ WPDevCPU              wpcpu.idl
              ³     ÃÄÄ WPDevDiskette         wpdskett.idl
              ³     ÃÄÄ WPDevDisplay          wpdisply.idl
              ³     ÃÄÄ WPDevHarddrive        wphrddrv.idl
              ³     ÃÄÄ WPDevKeyboard         wpkeybdd.idl
              ³     ÃÄÄ WPDevMemory           wpmem.idl
              ³     ÃÄÄ WPDevMouse            wpmoused.idl
              ³     ÃÄÄ WPDevParallel         wpparal.idl
              ³     ÃÄÄ WPDevPeriph           wpperiph.idl
              ³     ÃÄÄ WPDevSerial           wpserial.idl
              ³     ÃÄÄ WPDevTape             wptape.idl
              ³     ÀÄÄ WPDevTimer            wptimer.idl
              ÃÄÄ WPPort                      wpport.idl
              ÃÄÄ WPPdr                       wppdr.idl
              ÀÄÄ WPQdr                       wpqdr.idl

Note: According to the REXX Reference Summary Handbook the class SmartCenter is a sub class of WPAbstract. I have not been able to verify this.


Extended Attributes used by the WPS

The Workplace Shell uses the following extended attributes:

Extended Attribute EA Type Description
ASSOCTABLE EAT_MVMT Enables an application to indicate the type, extension, and icon for the data file that it recognizes.
.CLASSINFO EAT_BINARY the class type of the object.
.CODEPAGE the code page for the file object
.COMMENTS EAT_MVMT misc. notes or reminders about the file object
.HISTORY EAT_MVMT the modification history for a file object (see Maintaine Multi value EAs in REXX for an example for using this EA)
.ICON EAT_ICON the icon that represents the file or folder object. This EA contains the physical data used to represent the folder object. (see also Extract the icon from the EAs)
.ICON1 EAT_ICON the animation icon for a folder. This EA contains the physical data used to represent the open folder object. (see also Extract the icon from the EAs)
.ICONPOS EAT_BINARY the icon positioning information for a folder (WARP 4 only!)
.KEYPHRASES EAT_MVMT text phrases for the file
.LONGNAME EAT_ASCII the long name of the file object (necessary for file system that do not support long names) (see Copy a file from HPFS to FAT and vice versa for an usage example)
.PREVCLASS EAT_BINARY "old class name when the user requests that an object, which is a descendent of WPDataFile, becomes another subclass of WPDataFile" (WARP 4 only!)
.SUBJECT EAT_ASCII a brief summary of the content or purpose of the file object
.TYPE EAT_MVMT the file type of the file object, such as plain text (TXT), bitmap (BMP), or executable (EXE).
.VERSION EAT_ASCII or EAT_BINARY the version of the file object


See the next section for the possible EA types.

Note: "Standard Extended Attributes (SEAs) have a dot (.) as a prefix. This identifies the extended attribute as a SEA. The leading dot is reserved, so applications should not define extended attributes that start with a dot. Also, extended attributes that start with the characters $, @, &, or + are reserved for system use."

Be aware that the information about the types of the Standard Extended Attributes in the Control Program Guide and Reference is not correct!