# C

Tiffany Antopolski
tiffany.antopolski@gmail.com
Bastian Ilsø
bastianilso@gnome.org
Handledningar och kodexempel i C.
Sebastian Rasmussen
sebras@gmail.com 2019
Anders Jonsson
anders.jonsson@norsjovallen.se 2021

# Plattformsdemonstrationer i C

# Förutsättningar

För att kompilera dessa plattformsdemonstrationer kommer du behöva en C-kompilator, till exempel gcc. Du kommer också behöva GTK+ 3 med headerfiler och pkg-config-filer. Linuxdistributioner abstraherar vanligen GTK+ 3-headerfiler och pkg-config-filer till separata paket som heter gtk3-devel, gtk3-dev eller liknande.

# Riktlinjer för nya utvecklare

Förutom förutsättningarna som nämnts ovan har flera verktyg utvecklats för att hjälpa dig vidare i att utveckla ditt GNOME-program. GNOME rekommenderar även en specifik kodstil och konventioner som detta avsnitt kommer gå in närmare på.

## Rekommenderade verktyg

DevHelp: En API-dokumentationsbläddrare för GNOME.

Ett GNOME-IDE (Integrated Development Environment, Integrerad utvecklingsmiljö). Ett IDE kan hjälpa dig med att skriva och felsöka C-kod, till exempel Builder eller Anjuta.

Glade: En användargränssnittsdesigner för GTK+-program.

En IRC-klient, till exempel Polari eller Empathy. Om du stöter på problem medan du följer nybörjarhandledningarna kan du gå in i #gnome på irc.gnome.org.

## Kodstil

De flesta program i GNOME-projektet är skrivna i GNU-stilen för indentering. Handledningarna och kodexemplen som presenteras följer denna konvention och du rekommenderas att också göra det.

## Köra kod

För att köra kodexemplen:

Kopiera och klistra in koden i filnamn.c

Skriv följande i terminalen:

    gcc filnamn.c `pkg-config --cflags --libs gtk+-3.0` -o filnamn

    ./filnamn

För mer information om att kompilera GTK+-program, se Kompilera GTK+-program i UNIX.

# Handledningar

# Kodexempel för gränssnittskomponenter

## Fönster

## Visningskomponenter

## Knappar och brytare

## Inmatning av numeriska data och text

## Textredigerare med flera rader

## Komponenter för meny, kombinationsruta och verktygsfält

## TreeView-komponent

## Väljare

### Filväljare

### Typsnittsväljare

### Färgväljare

## Layoutbehållare

## Ornamentering

## Rullning

## Diverse