# Gambas/Components

Back to Gambas

## GB Components

Components are Gambas plug-ins that add new functionality to your applications (by adding new classes to the interpreter).
A Gambas project has a list of components to be loaded at startup; you can find and modify this list by selecting Project > Properties from the Project window, and clicking the Components tab.
A Gambas project without any components is a simple text-only application. To become a true graphical application, a project must use at least the gb.qt component. To access a database, use the gb.db component. And so forth...
* gb - Gambas internal native classes
* gb.compress - Compression library
* gb.db - Database access component
* gb.debug - Gambas application debugger helper
* gb.eval - Gambas expression evaluator
* gb.gtk - Graphical GTK+ toolkit component
* gb.net - Networking component
* gb.net.curl - Network high-level protocols management
* gb.pcre - Perl-compatible Regular Expression Matching
* gb.qt - Graphical QT toolkit component
* gb.qt.editor - Gambas editor with syntax highlighting
* gb.qt.ext - Graphical QT toolkit extension component
* gb.qt.kde - KDE integration and scripting
* gb.qt.kde.html - KDE web browser
* gb.sdl - Library based on SDL
* gb.sdl.image - 2D Library based on SDL
* gb.sdl.sound - Sound library based on SDL
* gb.vb - Visual Basic compatibility
* gb.xml.libxml - XML tools based on libxml
* gb.xml.libxml.rpc - XML-RPC client based on libxml and libcurl
* gb.xml.libxml.xslt - XSLT tools based on libxslt

### Add some new components

You can load new components using by going to the main Project window and selecting Project > Properties.
Now, choosing the Components tab, you'll find a selectable list of the Gambas components. Tick the ones you want, untick the ones you don't.
You'll also be shown a hint with the name of the additional controls e.g.: QT when you load gb.qt.ext.

### List of the Gambas components

* gb
** Gambas internal native classes
* gb.compress
** Compression library
* gb.db
** Database access component
* gb.debug
** Gambas application debugger helper
* gb.eval
** Gambas expression evaluator
* gb.net
** Networking component
*** Controls: DnsClient, ServerSocket, SerialPort, Socket, UdpSocket
* gb.qt
** Graphical QT toolkit component
*** Controls: Label, TextLabel, PictureBox, ProgressBar, Button, CheckBox, RadioButton, ToggleButton, ToolButton, TextBox, ComboBox, TextArea, ListBox, ListView, TreeView, IconView, GridView, ColumnView, HBox, VBox, HPanel, VPanel, Frame, Panel, TabStrip, ScrollView, DrawingArea, Timer
* gb.qt.editor
** Gambas editor with syntax highlighting
*** Controls: GambasEditor
* gb.qt.ext
** Graphical QT toolkit extension component
*** Controls: LCDNumber, Dial, SpinBox, ScrollBar, Slider, MovieBox, TableView, HSplit, VSplit, Workspace, TextView
* gb.qt.kde
** KDE integration and scripting
*** Controls: URLLabel, ColorBox, DatePicker

### Experimental Components

WARNING: These are in the BETA stage of development and might be changed at any time.
* gb.qt.kde.html
** KDE web browser
* gb.vb
** Visual Basic compatibility
* gb.xml.libxml
** XML tools based on libxml
* gb.xml.libxml.rpc
** XML-RPC client based on libxml and libcurl
* gb.xml.libxml.xslt
** XSLT tools based on libxslt