Print
Parent Category: Development
Category: yab
Hits: 2790

yab Commands Version from 08. Mai 2007

|  A  |  B   |  C  |  D   |  F  |  I   |  K  |  L   |  M  |  O   |  P  |  R   |  S  |  T   |  V  |  W   |




-=A=-


ALERT Text$, Label$,Type$

Text$

Label$

Type$


Selected = ALERT , Button1$, Button2$ , Button3$, Type$

Button2$

Button3$



Type$ = "none|info|idea|warning|stop"
ATTRIBUTE SET Type$, Name$, Value$ , Filename$

Name$

Type$

Filename$

Value$



Type$



String

Int

Long

Double

Float

Mime

Bool



Value$

true

false


ATTRIBUTE CLEAR Name$, Filename$

Name$

Filename$


Value$ = ATTRIBUTE GET$ Name$, Filename$

Name$

Filename$



true

false

Bool

 

Name$

""

 

|

Unsupported

 

Name$

Filename$

""


Value = ATTRIBUTE GET Name$, Filename$

Name$

Filename$


back to index


-=B=-


BITMAP Width, Height, ID$

BITMAP


BITMAP GET x1,y1 to x2 ,y2,Target_bitmap$ ,Source_bitmap$

Source_bitmap$

Target_bitmap$


BITMAP GET IconSize,Bitmap$ ,File$

File$

Bitmap$


BITMAP GET ID$,Option$ ,Path$





"Path" = Path$

must be the path to a file
"Mime" or "Mime16" = Path$

must be the mimetype of the file which icon is to be swown. The resulting bitmap is 16 to 16.
"Mime32" = Path$

must be the mimetype of the file which icon is to be swown. The resulting bitmap is 32 to 32.
BITMAP GET ID$,Option$
Option$

height

width

ID$
BITMAP REMOVE Bitmap$

Bitmap$


ErrCode = BITMAP IMAGE ImageFile$, Bitmap$

ImageFile$

Bitmap$
ErrCode = BITMAP SAVE Bitmap$, FileName$,Format$

FileName$

Format$

 

png

tiff

ppm

bmp

jpeg

tga



 

That is the least common denominator for BeOS R5 PE and ZETA. For reasons of compatibility I can't support other translators (like e.g. gif).


ErrCode = 0


ErrCode = 1


BOXVIEW x1,y1 TO x2 ,y2, ID$ , Text$, LineType , View$

 

The actual view of the BOXVIEW (where you can place your widgets) is at (x1+5,y1+10) to (x2-5,y2-5). This may be a subject of change!


LineType =0


LineType =1


LineType =2



BOXVIEW SET ID$ , Option$ , Value$
Option$

Label

Value$


Option$

Line

Value$


BUTTON x1,y1 TO x2 ,y2, ID$ , Label$, View$

Label$

View$


BUTTON IMAGE x,y , ID$, EnabledPressed$ , EnabledNormal$, Disabled$ , View$

View$



EnabledNormal$

-- The image of the released button
EnabledPressed$

-- The image of the pressed button
Disabled$

-- The image of the disabled button (you can put in an empty string "" if you don't need a disabled button).
back to Index


-=C=-


CALENDAR x,y , ID$, Format$ , Date$, View$

View$



Format$ =

DDMMYYYY

MMDDYYYY

.

/

-



"DDMMYYYY."
CALENDAR SET Calendar$, Date$

DDMMYYYY

MMDDYYYY


Date$ = CALENDAR GET$ Calendar$

Date$

Calendar$


CANVAS x1,y1 to x2 ,y2, ID$ , View$


CHECKBOX x1,y1 , ID$, Label$ , IsActivated, View$

x1

y1

Label$

View$

IsActivated


CHECKBOX SET CheckBox$, IsActivated

CheckBox$


CHECKBOX IMAGE x,y , ID$, EnabledOn$ , EnabledOff$, DisabledOn$, DisabledOff$ , IsActivated, View$

x1

y1


EnabledNormal$


EnabledPressed$


DisabledNormal$


DisabledPressed$

 


CLIPBOARD COPY Text$

Text$


Text$ = CLIPBOARD PASTE$

Text$


COLORCONTROL x,y , ID$, View$

x,y


COLORCONTROL SET ColorControl$, r,g, b

ID$


Value = COLORCONTROL GET ValueColorControl$, "Red|Blue|Green"

red/green/blue


COLUMNBOX x1,y1 TO x2 ,y2, ID$ , HasHScrollbar, Option$ , View$
HasHScrollbar

true



Option$

movable, resizable, removable
Option$ ="movable, resizable, popup, removable"
Option$ ="no-border"


COLUMNBOX COLUMN ColumnBox$, Name$, Position, MaxWidth, MinWidth, Width, Option$
Option$ ="align-left, align-center, align-right"
COLUMNBOX ADD ColumnBox$, Column, Row, Height, Item$

Item$

"__Icon__="+FileName$

 

Item$

"__Path__="+FileName$

 

Item$

"__Mime__="+Signature$


COLUMNBOX SELECT ColumnBox$, Row

Row

ColumnBox$


COLUMNBOX REMOVE ColumnBox$, Row

Row

ColumnBox$



Row = 0


COLUMNBOX CLEAR ColumnBox$

ColumnBox$


COLUMNBOX COLOR ColumnBox$, Option$, r, g,b
Option$ ="selection-text, non-focus-selection, selection, text, row-divider, background"
n = COLUMNBOX COUNT ColumnBox$

ColumnBox$


Item$ = COLUMNBOX GET$ ColumnBox$ , Column, Row

ColumnBox$


nach oben


-=D=-

DRAW BITMAP x,y , Bitmap$,Mode$ , View$



Mode$



"Copy"

copy the bitmap to the target ignoring transparency
"Alpha"

copy the bitmap to the target supporting transparency
DRAW BITMAP x1, y1 TO x2,y2, Bitmap$, Mode$, View$

Bitmap$



x2

-1

 

y2

-1

 

x2

y2

-1


DRAW TEXT x1,y1 , Text$, View$

x1,y1

View$


DRAW RECT x1,y1 TO x2 ,y2, View$

x1,y1

x2,y2

View$


DRAW DOT x1,y1 , View$

x1,y1

View$


DRAW LINE x1,y1 TO x2 ,y2, View$

x1,y1

x2,y2

View$


DRAW CIRCLE x1,y1 , Radius, View$

x1,y1

Raduis

View$


DRAW CURVE x1,y1 , x2,y2 , x3,y3 , x4,y4 , View$

x1,y1

x2,y2

x3,y3

x4,y4

View$


DRAW ELLIPSE x1,y1 , xRadius, yRadius , View$

x1,y1

Radius1

Radius2

View$


DRAW FLUSH View$

View$


LoadError = DRAW IMAGE x ,y, ImageFile$ , View$

ImageFile$

x,y

View$

LoadError




0


1


2


3


4



err = DRAW IMAGE x1, y1 TO x2,y2, Image$, View$

Image$



 

 



Width = DRAW GET "Text-Width" , Text$, View$

Text$

View$


Height = DRAW GET "Max-Text-Height" , View$

View$


FontFamilies$ = DRAW GET$ "FontFamily"


FontStyles$ = DRAW GET$ FontFamily$

FontFamily$


DRAW SET FillOrStroke, Pattern$
FillOrStroke =0


FillOrStroke =1



Pattern$


Pattern$ ="HighSolidFill"


Pattern$ ="LowSolidFill"


Pattern$ ="CheckeredFill"



DRAW SET Color$, r ,g,b, View$
Color$



"BGColor",r,g,b


"HighColor",r,g,b


"LowColor",r,g,b




DRAW SETColor$,Option$, View$



"Panel-Background-Color"
"Panel-Text-Color"
"Panel-Link-Color"
"Menu-Background-Color"
"Menu-Selection-Background-Color"
"Menu-Item-Text-Color"
"Menu-Selected-Item-Text-Color"
"Keyboard-Navigation-Color"
"Jan-Favorite-Color"



"Lighten-1-Tint"
"Lighten-2-Tint"
"Lighten-Max-Tint"
"Darken-1-Tint"
"Darken-2-Tint"
"Darken-3-Tint"
"Darken-4-Tint"
"Darken-Max-Tint"
"Disabled-Label-Tint"
"Disabled-Mark-Tint"
"Highlight-Background-Tint"



DRAW SET"bgcolor", "Menu-Background-Color,Lighten-1-Tint",View$
DRAW SET Font$, View$

View$



Font$ =FontFamily + "," + FontStyle + "," + Size

Font$ =

system-plain

 

Font$ =

system-bold

 

Font$ =

system-fixed


DRAW SET "Alpha", Alpha-Value

DRAW COLOR



transparency

opaque

 

When Alpha-Value is below 255, use only HighSolidFill, patterns are ignored!

Transparent drawing (that is Alpha-Value below 255) is not printed (see PRINTER) correctly!


DROPBOX x1,y1 TO x2 ,y2, ID$ , Label$, View$

x1,y1

x2,y2

ID$

View$


DROPBOX ADD DropBox$, Item$

Item$

Item$ = "--"


DROPBOX SELECT DropBox$, Position


Item$ = DROPBOX GET$ DropBox$ , Position


n = DROPBOX COUNT DropBox$


DROPBOX CLEAR DropBox$


DROPBOX REMOVE DropBox$, Position

 

If the removed item was marked, the item before it will be marked instead. You will NOT get a message that the marked item has changed. If the first item will be deleted, the next item in the drop box will be marked.

Each time an item was removed, the drop box count will change too!


back to index


-=F=-


File$ = FILEPANEL Mode$, Title$, Directory$
Mode$

"Load-File"
Mode$

"Load-Directory"
Mode$

"Load-File-and-Directory"
Mode$

"Save-File"

Directory$

Mode$

File$


File$ = FILEPANEL Mode$, Title$, Directory$, Filename$

Filename$


back to index


-=I=-


State = ISMOUSEIN(View$)
State

0

View$

State

1

View$
back to index


-=K=-


Msg$ = KEYBOARD MESSAGE$(View$)

INKEY$

Inkey$


back to index


-=L=-


LAUNCH FileName$

FileName$


LAYOUT Layout$, WindowOfView$

View$



Layout$

 



"All"


"None"

 

Layout$




"Left"


"Right"


"Left, Right"


"H-Center"




"Top"


"Bottom"


"Top, Bottom"


"V-Center"


LISTBOX x1,y1 TO x2 ,y2, ID$ , ScrollbarType, View$

x1,y1

x2,y2

ID$

ScrollbarType

View$




0


1


2


3


LISTBOX CLEAR ListBox$


LISTBOX REMOVE ListBox$, Item$

Item$

ID$


LISTBOX SORT Listbox$


n = LISTBOX COUNT ListBox$

ListBox$


Entry$ = LISTBOX GET$ ListBox$ , Row

Entry$


LISTBOX SELECT ListBox$, Position




LISTBOX REMOVE ListBox$, Position


LISTBOX ADD ListBox$, Item$


LISTBOX ADD ListBox$, Position, Item$


LOCALIZE Mimetype$

Mimetype$


LOCALIZE STOP


LOCALIZE


back to index


-=M=-


MENU Head$, Menu$ , Shortcut$, View$

Head$

Menu$

Shortcut$

Menu$







"S"


"C"


"O"



not



"SO"

"SC"

"SCO"

The command key (ALT) is always part of the shortcut.


MENU SET MenuHead$, SetRadioMode, View$

 

you have to set the first marked item yourself.


MENU SET MenuHead$, MenuItem$, Option$, View$



Option$

Disable|Enable|Mark|Plain|Remove


Translation$ = MENU TRANSLATE$(Source$)
Translation$

Source$

TRANSLATE$

Source$







myMenuMessage$

translate$

File:Open


msg$ = MESSAGE$


Arrived = MESSAGE SEND Application$ , Message$

Application$



 

this does not work for bound programs currently!)

 

_Scripting:...|





0:


1:


2:


3:


4:


Mouse$ = MOUSE MESSAGE$(View$)


Mouse$ = MOUSE MOVE$



ControlName:_InsideView
ControlName:_EnteredView
ControlName:_ExitedView
ControlName:_MouseDown
ControlName:_MouseUp
ControlName:_LeftMouseButton
ControlName:_RightMouseButton
ControlName:_MiddleMouseButton

ID


MOUSE SET Option$



Option$

"Hide"


Option$

"Show"


Option$

"Obscure"


back to index


-=O=-


OPTION SET View$, "Auto-Resize"


OPTION SET View$, "Focus", HasFocus


OPTION SET Control$, "Enabled", IsEnabled


OPTION SET Control$, "Label", NewLabel$


OPTION SET Control$, "Visible", IsVisible




CHECKBOX
RADIOBUTTON
SLIDER
TEXTCONTROL
BUTTON
COLORCONTROL
SPINCONTROL
CALENDAR
OPTION COLOR View$, "BGColor", r, g,b


back to index


-=P=-


x = PEEK("DesktopWidth")


y = PEEK("DesktopHeight")


x = PEEK("Deskbar-x")


y = PEEK("Deskbar-y")


w = PEEK("DeskbarWidth")


h = PEEK("DeskbarHeight")


p = PEEK("Deskbarposition")



 

 

 

 

 


i = PEEK("Deskbarexpanded")

true

false


Height = PEEK("menuheight")


Width = PEEK("scrollbarwidth")


Height = PEEK("tabheight")


Directory$ = PEEK$("directory")

 

peek

isbound

 

Directory$ =peek$

directory

 

 

DirectoryDirectory$ =system$

pwd

 


TrackerItem$ = PEEK$("refsreceived")


Selected$ = POPUPMENU x ,y, MenuItems$ , View$

"|"


PRINTER SETUP SetupFile$

SetupFile$


PrintingError = PRINTER JobName$ , SetupFile$, View$

SetupFile$

JobName$



Alpha transparency is not printed correctly!

Due to a bug in BeOS and ZETA, there are probably problems printing CHECKBOX IMAGE and BUTTON IMAGE images, use DRAW IMAGE instead!

 

PrintingError



0


1


2


3


4


5

 

PrintingError = 4 can happen because of a bug in the PDF printing driver; although a page size is shown, none is selected. If this happens, you may want to call a PRINTER SETUP for the user and try to print again. 

When an error with code 1,2,3 or 4 occurs, you can be shure that nothing was sent to the printer yet.


back to index


-=R=-


RADIOBUTTON x1,y1 , ID$, Label$ , IsActivated, View$


RADIOBUTTON SET RadioButton$, IsActivated


back to index


-=S=-


SCREENSHOT x1, y1 to x2, y2 , Bitmap$

Bitmap$


SCROLLBAR ID$, ScrollbarType , View$


SCROLLBAR SET Scrollbar$, "Vertical Position", Position
SCROLLBAR SET Scrollbar$, "Horizontal Position", Position


SCROLLBAR SET Scrollbar$, "Vertical Range", Min, Max
SCROLLBAR SET Scrollbar$, "Horizontal Range", Min, Max

 

The Max value will be added to the view's actual width/height.


SCROLLBAR SET Scrollbar$, "Vertical Steps", SmallSteps, BigSteps
SCROLLBAR SET Scrollbar$, "Horizontal Steps", SmallSteps, BigSteps

SmallSteps

BigSteps


Position = SCROLLBAR GET Scrollbar$ , "Horizontal"
Position = SCROLLBAR GET Scrollbar$ , "Vertical"



SHORTCUT View$, Shortcut$, MyMessage$

 

In opposite to a menu, you can't use command -X, -C, -V, -A, -W, -Q ! 


SLIDER x1,y1 TO x2 ,y2, ID$ , Label$, Min, , Max, View$


SLIDER x1,y1 TO x2 ,y2, ID$ , Label$, Min , Max, Option$ , View$
Option$


SLIDER LABEL Slider$, StartLabel$, EndLabel$


SLIDER SET Silder$, Location$,, Count

 

The Zeta sliders do not distinguish between top/bottom/left/right marks, just use "both"


Location$


Location$


Count


SLIDER COLOR Silder$, Part$ , r,g ,b
Part$

barcolor


Part$

fillcolor


SLIDER SET Silder$, Value


Value = SLIDER GET Slider$


ID = SOUND PLAY SoundFile$

SoundFile$


SOUND STOP ID


SOUND WAIT ID


SPINCONTROL x,y , ID$, Label$ , Min, Max , Step, View$


SPINCONTROL SET SpinControl$, Value


Value = SPINCONTROL GET SpinControl$


SPLITVIEW x1,y1 TO x2 ,y2, ID$ , IsVerticalSplit, NormalStyle, , View$

ID$

ID$+"1"

ID$+"2"



IsVerticalSplit

true


IsVerticalSplit

false


NormalStyle

true


NormalStyle

false


SPLITVIEW SET SplitView$, "Divider", Position


SPLITVIEW SET SplitView$, "MinimumSizes", LeftOrTop, RightOrBottom


Position = SPLITVIEW GET SplitView$ , "Divider"


STACKVIEW x1,y1 TO x2 ,y2, ID$ , NumberOfViews, View$


STACKVIEW SET StackView$, ViewNumber


ViewNumber = STACKVIEW GET StackView$


STATUSBAR x1,y1 to x2 ,y2,ID$, Label1$,Label2$, View$



Label1$


STATUSBAR SET ID$,Label1$ ,Label2$,State


STATUSBAR SET ID$, r, g, b


STATUSBAR SET ID$, BarHeight


SUBMENU MenuHead$, MenuItem$, SubMenuItem$, Modifier$, View$


SUBMENU SET MenuHead$, MenuItem$, SetRadioMode, View$


SUBMENU SET MenuHead$, MenuItem$, SubMenuItem$, Option$, View$



Option$ ="Disable|Enable|Mark|Plain"
back to index


-=T=-


TABVIEW x1,y1 TO x2 ,y2, ID$ , Option$, View$




TABVIEW ADD TabView$, TabName$

TabView$+"1"

TabView$+"2"


TABVIEW SET TabView$, TabNumber

TabNumber


TabNumber = TABVIEW GET TABVIEW$


TEXT x,y , ID$, Text$ , View$


TEXT x1, y1 TO x2, y2, ID$, Text$ , View$

DRAW TEXT

TEXT SET


TEXT SET Text$, Alignment$

align-left

align-center

align-right


TEXT SET Text$, Alignment$


TEXTCONTROL x1,y1 TO x2 ,y2, ID$ , Label$, Text$ , View$


TEXTCONTROL SET TextControl$, Text$


TEXTCONTROL SET TextControl$, IsPassword
IsPassword

false


IsPassword

true


TEXTCONTROL SET TextControl$, Option$, Value$



Haiku has issues align right. There are open tickets.


Option$

exclude

Value$



Option$

include

Value$



Option$

length

Value$=str$





Option$

type



number



alphanumeric



Option$

focus

Value$

true

false

TextControl$



Option$

Value$

str$(number)


TEXTCONTROL CLEAR TextControl$


Text$ = TEXTCONTROL GET$ TextControl$


TEXTEDIT x1,y1 TO x2 ,y2, ID$ , ScrollbarType, View$


TEXTEDIT ADD TextEdit$, Text$


TEXTEDIT CLEAR TextEdit$


EnteredText$ = TEXTEDIT GET$ TextEdit$


TextLine$ = TEXTEDIT GET$ TextEdit$ , LineNumber
Width = TEXTEDIT GET$ TextEdit$ , "Line-Width" , LineNumber
Height = TEXTEDIT GET$ TextEdit$ , "Line-Height" , LineNumber
LineNumber = TEXTEDIT GET$ TextEdit$ , Option$
IsChanged =Option$ = "hasChanged"

LineNumber =Option$ = "countlines"

LineNumber =Option$ = "currentline"

YOffset =Option$ = "vertical-scrollbar"

XOffset = Option$ = "horizontal-scrollbar"

Position = Option$ = "cursor-position"

TextLength = Option$ = "textlength"
TEXTEDIT SET TextEdit$, Option$



Option$

"cut, copy, paste, clear, select-all, undo"
TEXTEDIT SET TextEdit$, Option$ , Value
Option$ = "autoindent", true/false

Option$ = "wordwrap", true/false

Option$ = "editable", true/false

Option$ = "color-case-sensitive", true/false

Option$ = "changed", true/false

Option$ = "gotoline", LineNumber

Option$ = "select", LineNumber

Option$ = "tabwidth",, TabWidth

Option$ = "textwidth", TextWidth

Option$

"autocomplete-start"

Option$

"has-autocompletion"


autoindent

false
wordwrap

true
editable

true
color-case-sensitive

false
changed

false
has-autocompletion

true
autocomplete-start

4
TEXTEDIT SET TextEdit$, Option$,, Value$
Option$

"autocomplete"



Option$

"font"

similar to DRAW SET

system-plain


TEXTEDIT COLOR TextEdit$, Option$, Command$
Option$ ="color1, color2, color3, color4, char-color", Command$


TEXTEDIT COLOR TextEdit$, Option$, r, g,b
Option$ ="bgcolor, textcolor, color1, color2, color3, color4, char-color", r,g,b


bgcolor

255,255,255 (weiss)
textcolor

0,0,0 (schwarz)
color1

0,0,255 (blau)
color2

255,0,0 (rot)
color3

0,250,0 (grün)
color4

185,185,185 (grau)
char-color

200,0,255 (magenta)
TEXTURL x,y , ID$, Label$ , Address$, View$

Address$

 

 

 


TEXTURL COLOR TextURL$, Option$, r, g,b


"Label"


"Click"


"Mouse-over"


Id = THREAD GET Option$, Program$
Option$

"TeamID"





Option$

"ThreadID"




Success = THREAD REMOVE Option$ , ID
Option$

"TeamID"


Option$

"ThreadID"



 

You can crash your system with this command! If you don't know what this command is meant for, then don't use it!


TOOLTIP View$, Text$

Text$

Test$ = ""


TOOLTIP COLOR "bgcolor/textcolor", r,g, b

BeOS R5


Translation$ = TRANSLATE$(Source$)

Zeta only, returns Source$ otherwise


TREEBOX x1,y1 to x2 ,y2, ID$ , ScrollbarType, View$



ITEM ADD does not work here. Use TREEBOX ADD instead. ITEM ADD will be depricated in one of the next releases.


TREEBOX ADD TreeBox$, RootItem$

RootItem$


TREEBOX ADD TreeBox$, HeadItem$, ListItem$, IsExpanded

ListItem$

HeadItem$


TREEBOX CLEAR TreeBox$


TREEBOX REMOVE TreeBox$, ListItem$

 

This also removes all subitems!


n = TREEBOX COUNT TreeBox$


Item$ = TREEBOX GET$ TreeBox$ , Position


TREEBOX EXPAND TreeBox$, Head$


TREEBOX COLLAPSE TreeBox$, Head$


TREEBOX REMOVE TreeBox$, Position

Position


TREEBOX REMOVE TreeBox$, Head$, ListItem$


TREEBOX SELECT TreeBox$, Position


TREEBOX SORT Treebox$


back to index


-=V=-


VIEW x1,y1 TO x2 ,y2, ID$ , View$


VIEW DROPZONE View$

DROPZONE


VIEW REMOVE View$



Currently clears all internal information about menues and drop boxes. It is only safe to use it, when you don't have any menues or drop boxes on views that will not be removed.

Never remove menus with shortcuts, otherwise yab will crash when the shortcut key is pressed!


Result = VIEW GET View$ , Option$
Option$

Position-X/Position-Y/Width/Height/Exists/Focused




back to index


-=W=-


WINDOW OPEN x1,,y1 TO x2 ,y2, ID$ , Title$

x1,y1 to x2,y2


WINDOW CLOSE WindowView$

 

This might destabilize your program if you try to reconstruct your old window or further use old views! The yab-taskforce is set on the tracks of this bug ;)

 


n = WINDOW COUNT


WINDOW SET Window$, Option$ , Value$
"Look"

"Document/Titled(default)/Floating/Modal/Bordered/No-Border"

"Feel"

"Normal(default)/Modal-App/Modal-All/Floating-App/Floating-All"

"BeBook->Interface Kit->BWindow->Constants and Defined Types"



"Title"

Title$

"Flags"

"Not-Closable, Not-Zoomable, Not-Minimizable, Not-H-Resizable, Not-V-Resizable, Not-Resizable, No-Workspace-Activation, Accept-First-Click"

"BeBook->Interface Kit->BWindow->Constants and Defined Types"



"Flags"

"Reset"



"Workspace"

"All"



"Workspace"

"Current"


WINDOW SET Window$, Option$, r, g,b
"BGColor"


"HighColor"


"LowColor"


WINDOW SET Window$, Option$ , x,y
"ResizeTo"


"MoveTo"


"MinimumTo"


"MaximumTo"


WINDOW SET WindowView$, Option$
Option$

"Activate"



Option$

"Deactivate"



Option$

"Minimize"



Option$

"Maximize"



Option$

"Enable-Updates"



Option$

"Disable-Updates"


back to index

yab Commands by jan64 Mai 2012
HTML by Christian Albrecht (Lelldorin) April 2014
Supported by BeSly, the Haiku knowledge base.