<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../style.css">
<title>
Gambas Documentation - Naming Conventions
</title>
</head>
<body>
<table class="none" width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td align="left">
<font size="-1">
<a href="../../help%3Fen"><img class="flag" alt="Home" border="0" src="../../img/lang/en.png" align="center"></a>&nbsp;&nbsp;
<a href="../doc%3Fen">Up</a>&nbsp;&nbsp;
<a href="faq%3Fen">Previous</a>&nbsp;&nbsp;
<a href="namingconvention%3Fen">Next</a>&nbsp;&nbsp;
</td></tr></table>
<div class="notab">
<h1>
Naming Conventions
</h1>
<h3>Variable names</h3>
All private variable names of a class start with $
<p>
The first letter is lower case and should depend on the type of the variable:
<p>
<table class="table" border="0" bordercolor="#000000" cellpadding="4" cellspacing="0">
<tr><th>
Letter
</th><th>
Type
</th></tr>
<tr bgcolor="white"><td valign="top">
b
</td><td valign="top">
<a href="../lang/type/boolean%3Fen">Boolean</a>
</td></tr>
<tr><td valign="top">
h
</td><td valign="top">
<a href="../comp/gb/object%3Fen">Object</a> (Handle)
</td></tr>
<tr bgcolor="white"><td valign="top">
c
</td><td valign="top">
<a href="../comp/gb/collection%3Fen">Collection</a>
</td></tr>
<tr><td valign="top">
i
</td><td valign="top">
<a href="../lang/type/integer%3Fen">Integer</a>
</td></tr>
<tr bgcolor="white"><td valign="top">
s
</td><td valign="top">
<a href="../comp/gb/string%3Fen">String</a>
</td></tr>
</table>
<p>
<div class="gray"><font color="white" size="-2"><b>Example</b></font></div>
<pre class="example">PRIVATE $iLast AS Integer
PRIVATE $sLast AS String
PRIVATE $hEditor AS Object
PRIVATE $sOldVal AS String
PRIVATE $bFreeze AS Boolean

PUBLIC SUB Form_Resize()

  DIM iWidth AS Integer</pre>
<p>

<h3><a href="../comp/gb.qt/form%3Fen">Form</a> element names</h3>
<p>
When placing a new form element. <a href="../def/gambas%3Fen">Gambas</a> gives it a name like &quot;Label1&quot; &quot;Label2&quot; ...
<p>
Before you assign a method to the new element,
you rename it to &quot;btnStart&quot; or &quot;lstAddressSelect&quot;.
The first two or three lower case letters should
be given according to this definition:
<p>
<table class="table" border="0" bordercolor="#000000" cellpadding="4" cellspacing="0">
<tr><th>
Letter
</th><th>
Type
</th></tr>
<tr bgcolor="white"><td valign="top">
btn
</td><td valign="top">
<a href="../comp/gb.qt/button%3Fen">Button</a>, use btnOK btnCancel for OK, Cancel
</td></tr>
<tr><td valign="top">
chk
</td><td valign="top">
<a href="../comp/gb.qt/checkbox%3Fen">CheckBox</a>
</td></tr>
<tr bgcolor="white"><td valign="top">
cvw
</td><td valign="top">
<a href="../comp/gb.qt/columnview%3Fen">ColumnView</a>
</td></tr>
<tr><td valign="top">
cmb
</td><td valign="top">
<a href="../comp/gb.qt/combobox%3Fen">ComboBox</a>
</td></tr>
<tr bgcolor="white"><td valign="top">
dwg
</td><td valign="top">
<a href="../comp/gb.qt/drawingarea%3Fen">DrawingArea</a>
</td></tr>
<tr><td valign="top">
dlg
</td><td valign="top">
FontChooser
</td></tr>
<tr bgcolor="white"><td valign="top">
edt
</td><td valign="top">
GambasEditor
</td></tr>
<tr><td valign="top">
grd
</td><td valign="top">
<a href="../comp/gb.qt/gridview%3Fen">GridView</a>
</td></tr>
<tr bgcolor="white"><td valign="top">
spl
</td><td valign="top">
<a href="../comp/gb.qt/hsplit%3Fen">HSplit</a>
</td></tr>
<tr><td valign="top">
iv
</td><td valign="top">
<a href="../comp/gb.qt/iconview%3Fen">IconView</a>
</td></tr>
<tr bgcolor="white"><td valign="top">
lbl
</td><td valign="top">
<a href="../comp/gb.qt/label%3Fen">Label</a>
</td></tr>
<tr><td valign="top">
lst
</td><td valign="top">
<a href="../comp/gb.qt/listbox%3Fen">ListBox</a>
</td></tr>
<tr bgcolor="white"><td valign="top">
lvw
</td><td valign="top">
<a href="../comp/gb.qt/listview%3Fen">ListView</a>
</td></tr>
<tr><td valign="top">
pan
</td><td valign="top">
<a href="../comp/gb.gtk/panel%3Fen">Panel</a>
</td></tr>
<tr bgcolor="white"><td valign="top">
img
</td><td valign="top">
<a href="../comp/gb.qt/picturebox%3Fen">PictureBox</a>
</td></tr>
<tr><td valign="top">
opt
</td><td valign="top">
<a href="../comp/gb.qt/radiobutton%3Fen">RadioButton</a>
</td></tr>
<tr bgcolor="white"><td valign="top">
svw
</td><td valign="top">
<a href="../comp/gb.qt/scrollview%3Fen">ScrollView</a>
</td></tr>
<tr><td valign="top">
spb
</td><td valign="top">
<a href="../comp/gb.qt/spinbox%3Fen">SpinBox</a>
</td></tr>
<tr bgcolor="white"><td valign="top">
tab
</td><td valign="top">
<a href="../comp/gb.qt/tabstrip%3Fen">TabStrip</a>
</td></tr>
<tr><td valign="top">
tim
</td><td valign="top">
<a href="../comp/gb/timer%3Fen">Timer</a>
</td></tr>
<tr bgcolor="white"><td valign="top">
txa
</td><td valign="top">
<a href="../comp/gb.qt/textarea%3Fen">TextArea</a>
</td></tr>
<tr><td valign="top">
txt
</td><td valign="top">
<a href="../comp/gb.qt/textbox%3Fen">TextBox</a>
</td></tr>
<tr bgcolor="white"><td valign="top">
txv
</td><td valign="top">
<a href="../comp/gb.qt.ext/textview%3Fen">TextView</a>
</td></tr>
<tr><td valign="top">
tbt
</td><td valign="top">
<a href="../comp/gb.qt/toolbutton%3Fen">ToolButton</a>
</td></tr>
<tr bgcolor="white"><td valign="top">
trv
</td><td valign="top">
<a href="../comp/gb.qt/treeview%3Fen">TreeView</a>
</td></tr>
<tr><td valign="top">
spl
</td><td valign="top">
<a href="../comp/gb.qt/vsplit%3Fen">VSplit</a>
</td></tr>
</table>
<p>

A project which uses this style very similar is gambas2-1.9.28/apps/src/gambas2 - the <a href="../def/gambas%3Fen">Gambas</a> IDE

</div>
<hr>
</body>
</html>

