ACLCommonGraphicsNotes - GazeboHub/ghub-meta GitHub Wiki
Notes: Common Graphics (ACL)
At its current draft, this page focuses primarily about the CG:SYSTEM, CG:APP, and CG:CONFIGURATION classes, in the interest of studying how ACL's Common Graphics framework provides structures for application modeling and configuration, in an ACL image running within the typical desktop environment.
The CG System Class and Subclasses
See also (ACL 9.0 documentation)
CG:*SYSTEM*(special variable)CG:CONFIGURATION(generic function)
SYSTEM [STANDARD-CLASS]
- Direct Superclasses
STANDARD-OBJECT
- Direct Subclasses
IDE.BASE:IDE-SYSTEMCG.BASE::CG-SYSTEM
- Direct Slots
- (None)
- Inherited Slots
- (None)
CG.BASE::CG-SYSTEM [STANDARD-CLASS]
- Direct Superclasses
SYSTEM
- Direct Subclasses
- (None)
- Direct Slots
SCREENCONFIGURATIONCG.BASE:APPLICATION-WINDOWSAPPCG.BASE:OPEN-WINDOWS-TABLECG.BASE::NAMED-COLORSCG.BASE:IMMEDIATE-TOOLTIP-WINDOWDEVELOPMENT-MAIN-WINDOWCG.BASE:FONT-MAPPING-HASH-TABLECG.BASE:FONT-MAPPINGSCG.BASE::OS-VERSION-INFOCG.BASE::MOUSE-MOVE-WINDOWCG.BASE::MOUSE-MOVE-XCG.BASE::MOUSE-MOVE-Y
- Inherited Slots
- (None)
IDE.BASE:IDE-SYSTEM [STANDARD-CLASS]
- Direct Superclasses
SYSTEM
- Direct Subclasses
- (None)
- Direct Slots
CONFIGURATIONIDE.BASE:IDE-PROJECT-WINDOWIDE.BASE:IDE-BACKGROUND-WINDOWIDE.BASE:IDE-MENU-BARIDE.BASE::FILE-MENUIDE.BASE::EDIT-MENUIDE.BASE::SEARCH-MENUIDE.BASE::VIEW-MENUIDE.BASE::WINDOWS-MENUIDE.BASE::FORM-MENUIDE.BASE::RECENT-MENUIDE.BASE:RECENT-MENU-CHANGEDIDE.BASE::TOOLS-MENUIDE.BASE::RUN-MENUIDE.BASE::HELP-MENUIDE.BASE::INSTALL-MENUIDE.BASE:EXIT-TESTSIDE.BASE::ALL-TOOLBAR-BUTTONSIDE.BASE:COMPONENT-TOOLBAR-BUTTONSIDE.BASE:CG-TREEIDE.BASE:UNSAVED-BUFFER-MAPPERIDE.BASE:MOST-RECENT-TRACE-LISTIDE.BASE:IDE-THREADIDE.BASE::INITIAL-LISTENER-THREADIDE.BASE:IDE-EVALUATOR-LISTENERIDE.BASE::EVAL-PROCESS-WINDOWSIDE.BASE::IDE-PROCESS-LOCKIDE.BASE::IDE-PROXY-QUEUEIDE.BASE::REPORTED-PACKAGEIDE.BASE:REPORTED-MODIFICATION-STATEIDE.BASE:DEFINERSIDE.BASE:BREAKPOINTED-FUNCTIONS
- Inherited Slots
- (None)
The CG:APP Class
An instance of this class may be retrieved from a CG:CG-SYSTEM using the generic function, CG:APP. The class is denoted here, out of the interest of observing the semantics of the class' definition, as a possible extension point for Common Lisp programs in the desktop environment.
APP [STANDARD-CLASS]
- Direct Superclasses
STANDARD-OBJECT
- Direct Subclasses
- (None)
- Direct Slots
CG.BASE:INITIALIZATION-FUNCTIONDEFAULT-ERROR-HANDLER-FOR-DELIVERYMAIN-WINDOW-MAKERKILL-SPLASH-SCREEN-WHEN-READYCG.BASE:SHARED-LIBRARIESHINSTCG.BASE:LAST-USED-PATHSTANDALONE-APPLICATIONBUILD-NUMBERRUN-WITH-CONSOLE
- Inherited Slots
- (None)
Initial REPL Session
CG-USER(4): (describe *system*)
#<CG.BASE::CG-SYSTEM @ #x2117628a> is an instance of
#<STANDARD-CLASS CG.BASE::CG-SYSTEM>:
The following slots have :INSTANCE allocation:
SCREEN #<screen @ #x211761e2>
CONFIGURATION #<CG-CONFIGURATION @ #x21185cfa>
CG.BASE:APPLICATION-WINDOWS #<EQ hash-table with 2 entries @ #x21185d0a>
APP #<APP @ #x21185d3a>
CG.BASE:OPEN-WINDOWS-TABLE #<EQL hash-table with 185 entries @ #x21185d4a>
CG.BASE::NAMED-COLORS
(WHITE BLACK GRAY LIGHT-GRAY DARK-GRAY RED GREEN BLUE YELLOW CYAN MAGENTA DARK-RED
DARK-GREEN DARK-BLUE DARK-YELLOW DARK-CYAN DARK-MAGENTA)
CG.BASE:IMMEDIATE-TOOLTIP-WINDOW NIL
DEVELOPMENT-MAIN-WINDOW
#<IDE-CHILD-WINDOW :IDE-CHILD-WINDOW in IDE GUI @ #x211bf3d2>
CG.BASE:FONT-MAPPING-HASH-TABLE #<EQ hash-table with 6 entries @ #x21185d7a>
CG.BASE:FONT-MAPPINGS
(#<Font-mapping 146254240 for #.(MAKE-FONT-EX NIL "Courier New" 14) @ #x21366b22>
#<Font-mapping 145446432 for #.(MAKE-FONT-EX NIL "Courier New" 16) @ #x211df9da>
#<Font-mapping 144428480 for #.(MAKE-FONT-EX NIL "Sans" 10 '(:BOLD)) @ #x211c0ee2>
#<Font-mapping 144428416 for #.(MAKE-FONT-EX NIL "Sans" 12 '(:BOLD)) @ #x211c0f32>
#<Font-mapping 144089088 for #.(MAKE-FONT-EX NIL "Courier New" 24) @ #x21185ce2>)
CG.BASE::OS-VERSION-INFO NIL
CG.BASE::MOUSE-MOVE-WINDOW
#<LISTENER-WINDOW :LISTENER-WINDOW-1 in IDE GUI @ #x212b6c9a>
CG.BASE::MOUSE-MOVE-X 496
CG.BASE::MOUSE-MOVE-Y 299
CG-USER(5): (describe '*system*)
*SYSTEM* is a TENURED SYMBOL.
Its value is #<CG.BASE::CG-SYSTEM @ #x2117628a>
It is globally declared to be a special variable.
It is EXTERNAL in the CG.BASE package and exported from the CG package and accessible
in the CG.BITMAP-PANE, CG.BITMAP-PANE.CLIPBOARD, {{sic}}
CG-USER(6): (describe (find-class 'cg:system))
#<STANDARD-CLASS SYSTEM> is an instance of #<STANDARD-CLASS STANDARD-CLASS>:
The following slots have :INSTANCE allocation:
EXCL::LOCK-CONTROL #(NIL NIL)
EXCL::PLIST NIL
EXCL::FLAGS 0
EXCL::DIRECT-METHODS ((#<STANDARD-METHOD IDE.EDITOR:FIND-FILE (SYSTEM T)>))
EXCL::NAME SYSTEM
EXCL::DIRECT-SUPERCLASSES (#<STANDARD-CLASS STANDARD-OBJECT>)
EXCL::DIRECT-SUBCLASSES
(#<STANDARD-CLASS IDE.BASE:IDE-SYSTEM> #<STANDARD-CLASS CG.BASE::CG-SYSTEM>)
EXCL::WRAPPER NIL
ACLMOP:CLASS-PRECEDENCE-LIST NIL
EXCL::DIRECT-SLOTS NIL
EXCL::SLOTS NIL
EXCL::PROTOTYPE NIL
{{sic}}
CG-USER(20): (cg:app *system*)
#<APP @ #x21185d3a>
CG-USER(21): (describe *)
#<APP @ #x21185d3a> is an instance of #<STANDARD-CLASS APP>:
The following slots have :INSTANCE allocation:
CG.BASE:INITIALIZATION-FUNCTION NIL
DEFAULT-ERROR-HANDLER-FOR-DELIVERY REPORT-UNEXPECTED-ERROR-AND-EXIT
MAIN-WINDOW-MAKER NIL
KILL-SPLASH-SCREEN-WHEN-READY NIL
CG.BASE:SHARED-LIBRARIES NIL
HINST 0
CG.BASE:LAST-USED-PATH #P"/usr/local/stow/"
STANDALONE-APPLICATION NIL
BUILD-NUMBER NIL
RUN-WITH-CONSOLE NIL
{{sic}}
CG-USER(25):(configuration *system*)
#<CG-CONFIGURATION @ #x21185cfa>
CG-USER(26): (describe *)
#<CG-CONFIGURATION @ #x21185cfa> is an instance of
#<STANDARD-CLASS CG-CONFIGURATION>:
The following slots have :INSTANCE allocation:
PROPORTIONAL-FONT NIL
FIXED-FONT NIL
DEFAULT-WIDTH-FACTOR 0.75
DEFAULT-HEIGHT-FACTOR 0.5
DEFAULT-WIDTH NIL
DEFAULT-HEIGHT NIL
SHOW-TOOLTIPS T
USE-CG-TIMER NIL
CG-TIMER-INTERVAL 500
MULTI-PICTURE-BUTTON-SCROLL-INTERVAL 200
DEFAULT-TAB-WIDTH 96
DEFAULT-TAB-HEIGHT 24
TOOLTIP-DELAY 1000
TOOLTIP-VERTICAL-OFFSET 16
MENU-TOOLTIP-DELAY 1500
USE-PIXMAP-HANDLES T
CLIPBOARD-HISTORY-LIMIT 40
OFFSET-FROM-SELECTED-WINDOW T
MODAL-DIALOG-MARGIN 12
CENTER-ALL-MODAL-DIALOGS-ON-SCREEN :ON-OWNER
DRAG-IMAGES NIL
PPRINT-PLIST-PAIRS-ON-SEPARATE-LINES NIL
PPRINT-PLIST-DEFINERS
((MAKE-TEXTURE-INFO 1) (OPEN-MENU 4) (MAKE-INSTANCE 2) (MAKE-WINDOW 2))
FILE-SELECTION-BUFFER-SIZE 500000
CUSTOM-STATUS-BAR-FONT NIL
CUSTOM-TOOLTIP-FONT NIL
PARENTHESIS-MATCHING-STYLE :COLOR-BLOCK
PARENTHESIS-MATCHING-COLOR #S(RGB :RED 0 :GREEN 255 :BLUE 0)
CONSERVE-INDENTATION NIL
COLORIZE-ON-LOAD-FILE NIL
COLORIZE-ON-TYPING T
COLOR-FOR-COMMENTS #S(RGB :RED 0 :GREEN 128 :BLUE 0)
COLOR-FOR-STRINGS #S(RGB :RED 190 :GREEN 0 :BLUE 0)
COLOR-FOR-CHARACTERS #S(RGB :RED 190 :GREEN 0 :BLUE 0)
COLOR-FOR-GLOBAL-VARIABLES #S(RGB :RED 240 :GREEN 0 :BLUE 0)
COLOR-FOR-EXTERNAL-CL-SYMBOLS #S(RGB :RED 0 :GREEN 0 :BLUE 180)
COLOR-FOR-EXTERNAL-ALLEGRO-SYMBOLS #S(RGB :RED 128 :GREEN 0 :BLUE 128)
COLOR-FOR-EXTERNAL-CG-SYMBOLS #S(RGB :RED 200 :GREEN 100 :BLUE 0)
COLOR-FOR-USER-FUNCTIONS NIL
PRIVATE-HTML-BROWSER-HANDLE NIL
INVOKE-WEB-BROWSERS-WITH-KEYSTROKES (:EXPLORER)
RESERVE-RIGHTHAND-ALT-KEY T
IGNORE-REDUNDANT-MOUSE-MOVES T
MAP-CONTROL-LEFT-CLICK-TO-RIGHT-CLICK NIL
EXTERNAL-FORMAT-FOR-SAVED-FILES :DEFAULT
LOAD-UTF8-IF-NO-BOM NIL
WRITE-BOM-TO-UTF8-FILES T
DELAY-POP-UP-MENUS-UNTIL-MOUSE-BUTTONS-UP T