Tłumaczenie - tutorial środowiska Anjuta

Balcerowicz

Wstęp

Wcześniej tworzenie programów Linuksowych z dobrym graficznym interfejsem użytkownika stanowiło problem. Wraz ze stworzeniem GIMP Toolkit (GTK), stało się to łatwiejszym zadaniem. Jeszcze łatwiejszym stało się pisanie aplikacji opartych o graficzny interfejs użytkownika, gdy GLADE, narzędzie do tworzenia GUI zostało napisane przez Damona Chaplina. Ale GLADE nie może być jeszcze nazwane zintegrowanym środowiskiem programistycznym (jak Visual Basic i inne), ponieważ programiści nie mają możliwości edytowania kodu generowanego przez GLADE w samym środowisku GLADE. Następnie pojawiła się Anjuta! Anjuta korzysta z siły tworzenia ładnych interfejsów oferowaną przez GLADE i łączy ją z jej własnymi potężnymi możliwościami edytowania kodu, zatem rozwija się jako świetne IDE do błyskawicznego tworzenia aplikacji. Wcześniej ludzie używali GLADE do GUI, emacs lub vi itd. do edytowania oraz jakiegoś emulatora terminala do kompilowania swoich projektów. Dzięki Anjuta, wszystko to może być teraz zrobione dzięki jednemu jednolitemu i intuicyjnemu interfejsowi. Dokładnie o to chodzi w dobrych zintegrowanych interfejsach użytkownika. Tak więc nie traćmy więcej czasu i wskoczmy prosto do świata Anjuta przez stworzenie prostej aplikacji Hello World (Witaj Świecie). Ten tutorial skupia się na fazie projektowania z małą notatką o wplątanym kodzie GTK (aby dowiedzieć się więcej o GTK, odwiedź stronę www.gtk.org). 

Tworzenie nowego projektu

Uruchom Anjuta. Zamierzamy stworzyć nowy projekt i pracować na nim, tak więc z menu Plik wybieramy Nowy projekt. Pojawia się Druid Aplikacji GNOME. Chociaż pospolitą praktyką jest ignorowanie wszystkiego co jest napisane tak długo, jak widzimy przycisk Naprzód, to jednak roztropniej byłoby ostrożnie przechodzić przez każdą informację. Tak więc, po przeczytaniu wiadomości w pierwszym kroku Druida przejdź dalej klikając przycisk Naprzód. Krok 2 jest krokiem decydującym. Daje ci możliwość wyboru typu aplikacji jaki chcesz stworzyć. Do naszego celu wybierzmy "Projekt GNOME" i przejdźmy dalej. Krok 3 radzi sobie z podstawowymi informacjami o projekcie. Powinieneś starannie wypełnić ten krok druida. Dla tego tutoriala, wpisz następujące informacje: 

Nazwa projektu: Hello_World
Wersja projektu: 0.1
Autor projektu: (Twoje imię)
Obiekt docelowy projektu: hello_world
Język programowania: C
Typ docelowy: Docelowy plik wykonywalny

W następnym kroku (4) możemy wprowadzić krótki opis projektu. W kroku 5 możesz wyłączyć obsługę biblioteki gettext, jeżeli jej nie chcesz. Dobrym pomysłem byłoby przypisanie ikony do projektu, która pojawi się w Menu aplikacji GNOME. Możesz wybrać Przykład Hello World jako Nazwę wpisu, który pojawi się w Menu aplikacji GNOME. W polu Grupa pozostaw Applications. Kliknij Naprzód i Zakończ aby stworzyć swój projekt. Podczas tworzenia tego przykładu możesz się zrelaksować, jednak w czasie pisania prawdziwych projektów te kroki mogą być krytyczne i muszą być starannie sprawdzone.

Projektowanie interfejsu

Po zakończeniu druida, Anjuta potrzebuje trochę czasu aby stworzyć strukturę katalogów Twojego projektu, uruchomić skrypty konfiguracyjne, stworzyć pliki projektu itd. Możesz widzieć postępy przetwarzania w niższej części środowiska Anjuta. Po zakończeniu lewa część twojego ekranu pokazuje Drzewo projektu które zawiera twoje pliki źródłowe, pliki dokumentacji i pliki obrazów. Nadszedł czas aby uruchomić GLADE i zaprojektować GUI. W menu Projekt wybieramy Zmodyfikuj GUI aplikacji. Teraz uruchamiany jest GLADE. 

Możesz zobaczyć 3 okna: główne okno Glade, okno Właściwości oraz okno Paleta.

user image

  1. Okna Glade
    Ponieważ nie tworzymy prawdziwej aplikacji, możemy wybrać proste Okno GTK (GTK window) zamiast ustawionego domyślnie Gnome app. Tak więc kliknij na pierwszą pozycję w głównym oknie Glade i naciśnij Del (z klawiatury). Teraz w oknie Paleta kliknij na pierwszą ikonę, Okno. To powinno stworzyć puste okno, które będzie służyło do naszego celu, będzie głównym oknem naszej aplikacji. W głównym oknie Glade kliknij na window1, a w oknie Właściwości wpisz Hello World! jako tytuł. Teraz dodaj Pionową Skrzynkę z Palety do twojego właśnie stworzonego okna window1. Ustaw liczbę wierszy na dwa.

user image

  1. Ikony Palety
    To podzieliło okno na dwie identyczne części. Podobnie, podziel górną i dolną połowę w dwie identyczne części używając Poziomych Skrzynek z dwiema kolumnami każda. Teraz okno powinno wyglądać podobnie do tego:

user image

  1. Interfejs
    Teraz dodaj dwa przyciski z Palety do dwóch niższych miejsc. Wybierz każdy z przycisków pojedynczo i zmień ich właściwości Nazwa i Etykieta na następujące:

Przycisk po lewej:

Nazwa: BT_OK
Etykieta: OK

Przycisk po prawej:

Nazwa: BT_EXIT
Etykieta: Exit

W górnej części okna, dodaj widget Etykieta po lewej, a widget Wejście tekstowe po prawej. Nazwij widget Wejście Tekstowe jako ENTRY. Ustaw właściwość Etykieta widgetu Etykieta jaki "What's your name, sir ?". Teraz wybierając pojedynczo przyciski i używając strony Sygnały w oknie Właściwości, dodaj dla nich sygnały Clicked. Użyj nazw funkcji sugerowanych przez GLADE. Nie zapomnij o kliknięciu na przycisk Dodaj. To jest aktualnie częsty błąd, który później spowoduje stworzeniem pustego pliku callbacks.c. Jest to plik, do którego później dodamy kod dla tych przycisków przez interfejs Anjuta. Chociaż okno nie wygląda zbyt pięknie, możesz eksperymentować ze zmienianiem właściwości Szerokość i Wysokość okna window1 i kilku właściwości poziomych i pionowych skrzynek. (Pamiętaj, że te skrzynki mogą być łatwo wybrane przez otworzenie drzewa widgetów z menu Widok).
Kilka kolejnych: Ustaw właściwość Jednorodna pionowej skrzynki na Tak; Ustaw właściwość przycisków Wypełnianie na stronie Upakowywanie okna Właściwości na Tak; Ustaw właściwość okna window1 Zmienny rozmiar na Nie. Po poprawianiu tych właściwości mamy okno wyglądające podobnie do tego:

user image

  1. Końcowy interfejs

Kiedy jesteś usatysfakcjonowany wyglądem interfejsu, kliknij na Zapisz a następnie na Zbuduj z głównego okna GLADE. To uaktualni plik interface.c w folderze src twojego projektu dodając zmiany w interfejsie. Kliknij Projekt -> Zakończ. Przejdziesz do środowiska Anjuta aby napisać trochę kodu.

Edytowanie kodu

Teraz w środowisku Anjuta możesz zobaczyć plik callbacks.c w lewym panelu okna, w sekcji Projekt. Kliknij na nim dwa razy aby go otworzyć. Wtedy Anjuta otwiera plik do prawej części okna w celu edytowania. Staje się to łatwiejsze i bardziej ekscytujące jeżeli wszystko jest kolorowe. Tak jest, dzięki funkcji środowiska Anjuta Kolorowanie Składni. Anjuta daje ci o wiele więcej ciekawych możliwości, z którymi możesz czuć się komfortowo. Możesz poświęcić trochę czasu i poznać środowisko, wtedy będziesz czuł się w nim lepiej i wszystko zacznie wydawać się znajome. Wracając, w pliku callbacks.c możesz zobaczyć dwie funkcje wywołania zwrotnego (callback functions): on_BT_OK_clicked i on_BT_EXIT_clicked. Dodaj funkcję gtk_main_quit() aby całość wyglądała następująco:

void on_BT_EXIT_clicked (GtkButton *button, gpointer user_data) 
{ 
gtk_main_quit(); 
}

To powoduje, że program się zakończy, gdy użytkownik kliknie na ten przycisk. Podobnie, dodaj następujący kod do funkcji on_BT_OK_clicked:

void on_BT_OK_clicked (GtkButton *button, gpointer user_data)
{
 GtkWidget *entry = lookup_widget (GTK_WIDGET(button), "ENTRY");
 GtkWidget *msgbox = gnome_app_new("Hello World", "Hello World"); 
gchar *text1, *text2; text1 = gtk_entry_get_text (GTK_ENTRY(entry)); 
text2 = g_strconcat ("Hello, ", text1, NULL); 
gnome_app_message (GNOME_APP(msgbox), text2); 
g_free (text2);
 } 

Po tym zapisz i zamknij plik callbacks.c (użyj do tego menu Plik lub ikon na pasku narzędzi).

Budowanie, uruchamianie i dystrybucja

Po tym przychodzi słodki moment testowania twojej aplikacji. Najpierw wybierz z menu Zbuduj->Zbuduj wszystko. To tworzy plik uruchomieniowy hello w katalogu src, po skompilowaniu plików, m.in. main.c, interface.c, support.c i callbacks.c. Generalnie do tego celu używany jest kompilator gcc. Jeżeli masz szczęście, może skompilujesz swoją aplikację bez żadnych błędów. W tym wypadku przejdź do Zbuduj->Uruchom. Anjuta wtedy otworzy okno terminala i przez nie uruchomi Twoją aplikację Hello World. Spróbuj wpisać swoje imię do pola Wejścia tekstowego i nacisnąć OK. Prawdopodobnie powie ci Hello... odpowiedz jej, i kliknij przycisk Exit aby sprawdzić, czy program zamyka się poprawnie. Jeżeli tak, ciesz się ! Twoja ciężka praca została nagrodzona ! Możesz teraz zainstalować tą aplikację do twojego systemu przez Zbuduj->Zainstaluj. Chociaż może nie będziesz chciał tworzyć archiwum do dystrybucji teraz, może to być potrzebne kiedy będziesz prowadził dystrybucję swoich przyszłych projektów. Przed dystrybucją własnych projektów, upewnij się, że wypełniłeś pliki TODO, ChangeLog, INSTALL i README. Do stworzenia dystrybucji, kliknij Zbuduj->Zbuduj dystrybucję. To może zająć kilka chwil i ostatecznie stworzy plik hello-0.1.tar.gz w katalogu /home/(nazwa użytkownika)/Projects/hello . To może być dobra chwila na zabranie pliku do brata i pokazanie mu, ile jesteś wart...!

Zakończenie

Chociaż ten tutorial jest dość ubogi jak na mnogość opcji, którą Anjuta nam oferuje, mam nadzieję że pomoże on początkującym chociaż wypróbować jej możliwości. Od autora tekstu oryginalnego: Jeżeli chodzi o mnie, mam 16 lat, i obecnie uczę się w szkole średniej w Allahabad, w Indiach. Możesz skontaktować się ze mną i podzielić sugestiami: ichattopadhyaya@hclinfinet.com . Każde późniejsze pytanie, które będzie wymagać wyjaśnienia może być wysłane na Listy Dyskusyjne Anjuta (możesz się na nie zapisać z głównej strony anjuta.sourceforge.net). Życzę szczęścia i radości z Anjuta ! Od Balcerowicza: Myślałem o wysłaniu tego tłumaczenia do opiekuna strony anjuta.org, żeby został tam zamieszczony, ale facet chyba mnie olał, więc będzie tutaj :)

3 komentarzy

Mógłby ktoś podać jak ma wyglądać dobrze napisany Makefile do tego? Bo mi kompilator wywala błąd właśnie z makefile...

a jakies wciecia, formatowanie ??

kurde, przecież jak zamieściłem to było sformatowane... ktoś przy tym coś mieszał, i to nie byłem ja, jak dorwe to nogi z d*** powyrywam :[ Ale trudno, już poprawiam