- McCLIM
- implements the Common Lisp Interface Manager (CLIM) within a free/open source software licensing model
- available with an "adapter", formally a "graft" for a number of window systems and GUI platforms, including X11 (CLX) and Cairo UI (GTK Cairo)
- CLIM defines the class, application-frame
- The class clim:application-frame may be extended to define a class, ide-frame
- The class ide-frame may be defined such as to provide a convenient baseline for development of graphical IDE view elements
- A configuration parser may be defined as associated with the class, ide-frame
- IDE view elements may be defined in a manner reminiscent of graphical application interface elements as defined within popular IDE tools, such as:
- Filesystem view
- parameter: Root filesystem pathname (pathname directory)
- parameter: Filesystem element filter function
- arg: filesystem pathname
- return: boolean "display-p" value
- File view
- parameter: File pathname
- associated concept: File view controller
- define as a CLOS class, file-view-controller
- dispatch on filesystem type, e.g. (defgeneric get-file-view (file controller))
- initialize class and bind to *default-file-view-controller*
- reference class of file view controller within IDE configuration data
- Workspace view
- Extend on workspace definitions created by Eclipse IDE
- define parsers for workspace metadata as created by the Eclipse IDE
- include "check" for "workspace in use", preventing access to files within a "workspace in use", to minimize concurrency conflicts during file editing
- Workspace URI, index, and structure -- CORBA (TO DO: IDL Interfaces)
- SCCM views
- SCCM local source tree view, and SCCM repository view
- dispatch SCCM view selection per type of SCCM system in use within a root SCCM directory
- incorporate with an interface (FFI, shell commands, or Lisp) onto each supported SCCM model (cf. Emacs VC Mode)
- Observe that a local source tree for an SCCM system such as Git would be, simultaneously, a local source tree and an SCCM repository
- SCCM repository URI and index system -- CORBA (TO DO: IDL Interfaces)
- Toolchain views
- Reminiscent of Eclipse IDE perspective definitions (???) but focused on discrete classes of toolchain elements
- Toolchain category: GCC
- Tooclhain category: Lisp interpreter
- ...
- To do: Prototype sometime after defining a CLIM adapter i.e. "graft" and/or CLIM widget layer onto CommonQt (?)
- Requirement: Suitable HCI responsiveness
- Alternate consideration: Native XLib FFI interface (CFFI)
- Implement: X11 SHM interfaces
- Limitation: Further complexity in CLIM HCI model on Microsoft Windows platforms
- The Microsoft Windows Explorer Desktop Shell is not X11R6
- cf. XMing and/or Cygwin
- Limitation: Applicability of Shared Memory models in Common Lisp applications
- Objects referencing shared memory
- Shared memory references should remain immutable (?)
- Alterate consideration: Use GTK Cairo interface on Microsoft Windows Platforms
- GTK Cairo integration for mobile OSes?
- Firefox OS (?)
Showing posts with label CommonQt. Show all posts
Showing posts with label CommonQt. Show all posts
Friday, June 20, 2014
Towards an IDE Model for McCLIM (Draft 2)
Outline:
Labels:
CLIM,
CommonQt,
CORBA,
CORBA IDL,
Distributed IDE,
Eclipse IDE,
McCLIM
Subscribe to:
Posts (Atom)