Difference between revisions of "Carbon interface internals"

From Free Pascal wiki
Jump to navigationJump to search
Line 19: Line 19:
 
== How to add a new control ==
 
== How to add a new control ==
  
 +
For example TButton.
  
 +
TButton is defined in lcl/buttons.pp
 +
 +
And its widgetset class in lcl/widgetset/wsbuttons.pp
 +
 +
Its carbon interface class in lcl/interfaces/carbon/carbonwsbuttons.pp
  
 
== Keys ==
 
== Keys ==

Revision as of 21:38, 14 January 2006

This page gives an overview of the LCL carbon interface for MacOSX and will help new developers.

For installation and creating a first carbon application read first Carbon Interface.

What is already working ?

  • Creating a TForm
  • Creating and clicking on a TButton
  • Creating TOpenGLControl with AGL context (see components/opengl/)
  • Mouse events

What needs to be done next

  • Create more controls (TLabel, TEdit, TCheckBox, TGroupBox)
  • Keyboard events (KeyDown, KeyUp, Char)
  • Resize events (when form has been resized by user)
  • ShowModal (for dialogs)

How to add a new control

For example TButton.

TButton is defined in lcl/buttons.pp

And its widgetset class in lcl/widgetset/wsbuttons.pp

Its carbon interface class in lcl/interfaces/carbon/carbonwsbuttons.pp

Keys

  • Apple Command key is mapped to ssCtrl due to Apple Guidelines
  • Apple control key is mapped to ssMeta
  • Apple option key is mapped to its inscription, i.e. ssAlt