&xwp; registrerar och/eller byter ut ett st”rre antal WPS klasser. Ta en titt p† INSTALL.CMD skriptet i &xwp; installationskatalog f”r att se hur det „r uppbyggt.

De viktigaste &xwp; klassutbytena „r:

  1. &xwp; f”r regulj„ra mappar, vilka inneh†ller huvudfunktionaliteten hos &xwp;,
  2. XFldDisk f”r "disk" objekt, vilka upptr„der i mappen "Enheter",
  3. XFldObject, WPS rotklass, f”r att kunna accessa ett antal WPS interna, och
  4. XFldDesktop f”r nya Skrivbordsfunktioner, speciellt proceduren Avancerad Avst„ngning.
Alla dessa klasser byter ut original WPS klasser.

I den anda som beskrevs p† f”reg†ende sida, „r XFolder klassen en avkomling till WPFolder klassen. P† det s„ttet, kan den g”ra allt som en regulj„r kan. Som en ny funktion, l„gger den till nya kontextmenyposter hos alla mappar, till†ter mappsnabbkommandon, „ndringar av f”nsterrubriker, etc.

Genom att anv„nda polymorfism, omdefinierar &xwp; vissa WPFolder metoder, som „r beskrivet nedanf”r.

Emellertid, &xwp; „r sedan registrerad hos WPS som ett WPFolder utbyte, inneb„rande att WPS kommer att anv„nda XFolder klassen som sin standard mappklass, ist„llet f”r WPFolder. Genom att g”ra s†, anv„nds inte WPFolder klassen mera direkt, utan endast genom sitt utbyte (och avkomlings) klass, XFolder.

Vissa av de WPFolder metoder som XFolder class ”verskrider „r (detta „r f”rmodligen bara av intresse f”r programmerare):

XFldDisk klassen, vilken byter ut WPDisk klassen, g”r inte mycket, bortsett fr†n att routa sina metoder till &xwp; metodernas motsvarigheter, s† att enheternas visning beter sig som normala (X)mappar. IBM har, av n†gon orsak, best„mt sig f”r att inte g”ra enhetsobjekt till regulj„ra mappar, utan implementerat en annan klass f”r dom (kallad WPRootFolder), s† att ocks† &xwp; beh”ver en separat klass.

XFldObject g”r inte mycket f”r synbarheten heller, undantaget att undertrycka &os2; standard menyposter och l„gga till en "Kopiera filnamn" funktion. Den beh”vs d„remot av andra &xwp; delar internt f”r att kunna tillk„nnage vissa interna WPS h„ndelser, speciellt &xshutdown; funktionen, vilken „r beskriven i detalj p† n„sta sida.

XFldDesktop klassen „r implementerad f”r att till†ta „ndring av Skrivbordets menyposter och f”r &xshutdown;, vilken „r beskriven i detalj p† n„sta sida.

Medan tidigare versioner ocks† bytte ut WPSystem klass s† att "System" objektet i "Systemkonfigurations" mappen inneh”ll flera notbokssidor f”r att accessa &xwp;'s Globala Inst„llningar, har beteendet „ndrats fr†n och med V0.80. Ist„llet, registrerar &xwp; tv† nya klasser deriverade fr†n WPSystem utan att byta ut den. Dessa tv† klasser „r XFldSystem och XFldWPS f”r "&os2; K„rna" och "Workplace Shell" objekten, respektive. De inst„llningar som du har specificerat h„r „r (f”r det mesta) lagrade i OS2.INI och utv„rderade varje g†ng som &xwp; beh”ver dom (t.ex. n„r du har ”ppnat en kontextmeny). Som kontrast, lagras de "lokala" &xwp; inst„llningarna f”r en individuelll mapp i dess .CLASSINFO Ut”kade Attribut, d„r WPS ocks† lagrar andra mappinst„llningar. Det utf”rs sedan av XFolder klassen.

Var v„nlig och notera att alla &xwp; klasser „r konstruerade f”r att samverka. F”rs”k inte att ta bort n†gra f† av dom, eller s† kommer &xwp; kanske att bete sig underligt (om du har tur). Alla &xwp;'s funktioner har gjorts n†gorlunda konfigureringsbara, s† du b”r kunna bli av med det som du inte gillar -- eller bli av med &xwp; i sin helhet.