<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY mdash "&#38;#x2014;">
<!ENTITY hellip "&#x2026;">
<!ENTITY introduction SYSTEM "introduction.xml">
<!ENTITY interface SYSTEM "interface.xml">
<!ENTITY fileoperations SYSTEM "fileoperations.xml">
<!ENTITY projects SYSTEM "projects.xml">
<!ENTITY build SYSTEM "build.xml">
<!ENTITY debugger SYSTEM "debugger.xml">
<!ENTITY glade SYSTEM "glade.xml">
<!ENTITY preferences SYSTEM "preferences.xml">
<!ENTITY tools SYSTEM "tools.xml">
<!ENTITY authors SYSTEM "authors.xml">
<!ENTITY license SYSTEM "license.xml">
<!ENTITY appversion "2.0.2">
<!ENTITY manrevision "2.7">
<!ENTITY date "April 2006">
<!ENTITY app "anjuta">
]>
<!-- =============Document Header ============================= -->
<book id="index" lang="el">
 <bookinfo>
  <title>Εγχειρίδιο του Anjuta IDE</title>
  <edition>Έκδοση 1.0.0</edition>
  <abstract role="description">
  	<para>Εγχειρίδιο για το Anjuta IDE</para>
  </abstract>
  
	<author role="maintainer">
		<firstname>Naba</firstname>
		<surname>Kumar</surname>
	</author>
	<author>
		<firstname>Andy</firstname>
		<surname>Piper</surname>
	</author>
	<author>
		<firstname>Biswapesh</firstname>
		<surname>Chattopadhyayr</surname>
	</author>
	<author>
		<firstname>Johannes</firstname>
		<surname>Schmid</surname>
	</author>

  <copyright>
   <year>2001-2002</year>
   <year>2006-2008</year>
   <holder>Naba Kumar, Andy Piper, Biswapesh Chattopadhyay</holder>
   <holder>Johannes Schmid</holder>
  </copyright><copyright><year>2009</year><holder>Σίμος Ξενιτέλλης (simos@gnome.org)</holder></copyright><copyright><year>2009</year><holder>Τζένη Πετούμενου (epetoumenou@gmail.com)</holder></copyright>
  
  <legalnotice>
   <para>Χορηγείται άδεια αντιγραφής, διανομής και/ή τροποποίησης του παρόντος εγγράφου υπό τους όρους της έκδοσης 1.1 της <citetitle>Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL)</citetitle>, ή οποιασδήποτε μεταγενέστερης έκδοσής αυτής από το Ίδρυμα Ελεύθερου Λογισμικού (FSF), χωρίς αμετάβλητα τμήματα, κείμενα εξωφύλλου και κείμενα οπισθοφύλλου. Αντίγραφο της <citetitle>άδειας GFDL</citetitle> είναι διαθέσιμο στον ακόλουθο <ulink type="help" url="ghelp:fdl">σύνδεσμο</ulink>, ή στο αρχείο COPYING-DOCS που διανέμεται μαζί με το παρόν εγχειρίδιο.</para>
   <para>Πολλές από τις ονομασίες που χρησιμοποιούνται από εταιρείες για την διαφοροποίηση των προϊόντων και υπηρεσιών τους έχουν καταχωρισθεί ως εμπορικά σήματα. Σε όποιο σημείο της τεκμηρίωσης GNOME τυχόν εμφανίζονται αυτές οι ονομασίες, και εφόσον τα μέλη του Έργου τεκμηρίωσης GNOME έχουν λάβει γνώση αυτών των εμπορικών σημάτων, οι ονομασίες ή τα αρχικά αυτών θα γράφονται με κεφαλαίους χαρακτήρες.</para>
  </legalnotice>

	<revhistory>
		<revision>
		  <revnumber>Εγχειρίδιο του Anjuta, έκδοση 2.1.0</revnumber>
		  <date>2007</date>
		  <revdescription>
			 <para role="author">Johannes Schmid<email>jhs@gnome.org</email></para>
			 <para role="publisher">Ομάδα Anjuta</para>
		  </revdescription>
		</revision>
	</revhistory>
		
 </bookinfo>
 <!-- Document Body -->
 <!-- Introduction -->
  <!-- ============= Introduction ============================== -->
 <chapter id="introduction">
  <title>Εισαγωγή</title>
  <para>Η εφαρμογή <application>Anjuta</application> είναι ένα Ενσωματωμένο Περιβάλλον Ανάπτυξης Λογισμικού (IDE) για την πλατφόρμα GNOME. Παρέχει μια σειρά από προχωρημένες προγραμματιστικές δυνατότητες, όπως διαχείριση έργου, οδηγοί ρύθμισης έργων, διαδραστικό έλεγχο σφαλμάτων (debugger), ενσωματωμένο σχεδιαστή γραφικού περιβάλλοντος Glade, ενσωματωμένη βοήθεια API Devhelp, ενσωματωμένο έλεγχο μνήμης εκτελούμενου προγράμματος Valgrind, ενσωματωμένο έλεγχο απόδοσης εκτελούμενου προγράμματος gprof, γεννήτρια κλάσης, δυνατό επεξεργαστή κειμένου για τον πηγαίο κώδικα, περιήγηση πηγαίου κώδικα και πολλά άλλα.</para>

  <para>Το Anjuta DevStudio έχει σχεδιαστεί για να είναι εύκολο στη χρήση, αλλά αρκετά ισχυρό ώστε να καλύπτει πλήρως τις προγραμματιστικές σας ανάγκες. Κατά τη διάρκεια του έργου έχουμε προσθέσει στο Anjuta πολλές νέες λειτουργίες. Στόχος μας είναι να σας προσφέρουμε ισχύ αλλά και χρηστικότητα· να κάνουμε πιο ευχάριστη την ανάπτυξη λογισμικού, αποφεύγοντας όμως τις υπερβολές. Σκοπεύουμε να συνεχίσουμε να βελτιώνουμε και να σταθεροποιούμε το Anjuta στην προσπάθειά μας να σας προσφέρουμε την καλύτερη δυνατή εμπειρία IDE. Ελπίζουμε ότι θα ευχαριστηθείτε τη χρήση του Anjuta. Αν όχι, βοηθήστε μας να το κάνουμε καλύτερο, αναφέροντας σφάλματα και κάνοντας προτάσεις.</para>
  <para>Στο επόμενο στιγμιότυπο μπορείτε να δείτε κάποια από τα χαρακτηριστικά του Anjuta.</para>

  <para>
  <figure id="anjuta-scrshot">
   <title>Anjuta εν δράσει</title>
   <screenshot>
   <screeninfo>Anjuta εν δράσει</screeninfo>
   <graphic format="PNG" fileref="figures/anjuta-in-action.png" srccredit="jhs"/>
   </screenshot>
   </figure>
  </para>

  <para>Το Anjuta διαθέτει ένα ευέλικτο και προηγμένο σύστημα προσάρτησης που σας επιτρέπει να διατάσσετε τις προβολές ακριβώς όπως θέλετε. Μπορείτε να σέρνετε τις προβολές χρησιμοποιώντας τις λαβές για να τροποποιείτε τη διάταξή τους. Η επιλεγμένη διάταξη απομνημονεύεται ξεχωριστά για κάθε έργο, επιτρέποντάς σας να έχετε διαφορετικές διατάξεις για διαφορετικά έργα. Όλες οι προβολές μπορούν να ελαχιστοποιηθούν για να μην φορτώνεται υπερβολικά το κύριο παράθυρο. Οι ελαχιστοποιημένες προβολές εμφανίζονται με τη μορφή εικονιδίων στην αριστερή πλευρά του κύριου παραθύρου. Μπορείτε να προσαρμόζετε τις συντομεύσεις για όλες τις ενέργειες των μενού, είτε πληκτρολογώντας τη νέα συντόμευση ενώ ο δείκτης του ποντικιού βρίσκεται πάνω από το συγκεκριμένο στοιχείο μενού (όπως και αλλού στο GNOME), είτε χρησιμοποιώντας μια ειδική διεπαφή χρήστη για τη ρύθμιση των συντομεύσεων.</para>

  <para>Παρακαλούμε, αναφέρετε ό,τι προβλήματα αντιμετωπίσετε με το <application>Anjuta</application> - θα βοηθήσετε εμάς να βελτιώσουμε το λογισμικό, αλλά και την κοινότητα ανοιχτού λογισμικού στο σύνολό της.</para>
 </chapter>

 <!-- Getting Familiar with Anjuta -->
 <chapter id="familiar">
  <title>Εξοικείωση με το Anjuta</title>
 <!-- ============= Getting Familiar: Menus  ============-->
  <sect1 id="menu-and-shortcuts">
   <title>Μενού και συντομεύσεις</title>
   <para>Στο πάνω μέρος του κύριου παραθύρου του <application>Anjuta</application> βρίσκεται η γραμμή μενού. Εδώ μπορείτε να βρείτε σχεδόν όλες τις λειτουργίες του Anjuta. Στα μενού, οι διάφορες ενέργειες ομαδοποιούνται ανάλογα με τον τύπο τους. Για παράδειγμα, οι ενέργειες που αφορούν αρχεία έχουν ομαδοποιηθεί στο μενού <guisubmenu>Αρχείο</guisubmenu>.</para>
	
    <figure id="menubar">
      <title>Γραμμή μενού</title>
	  <screenshot>
      <screeninfo>Γραμμή μενού Anjuta</screeninfo>
       <graphic fileref="figures/menubar.png" format="PNG" srccredit="jhs"/>
      </screenshot>
    </figure>
    
    <figure id="file-menu">
      <title>Μενού Αρχείο</title>
      <screenshot>
      <screeninfo>Μενού Αρχείο</screeninfo>
       <graphic fileref="figures/file_menu.png" format="PNG" srccredit="jhs"/>
      </screenshot>
    </figure>
	
   <para>Για πολλά στοιχεία μενού υπάρχουν διαθέσιμες συντομεύσεις, οι οποίες εμφανίζονται δίπλα από το όνομα κάθε στοιχείου μενού. Παρακάτω αναφέρονται ορισμένες χρήσιμες συντομεύσεις.</para>
	
   <para>
    <itemizedlist>
     <listitem>
      <para><emphasis>Αλλαγή σελίδας επεξεργαστή:</emphasis><keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Page Up</keycap></keycombo> (μπροστά) και <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Page Down</keycap></keycombo> (πίσω). Μπορείτε, επίσης, να αλλάζετε σελίδες κάνοντας δεξί κλικ στις καρτέλες ή επιλέγοντας ένα όνομα αρχείου από το αναδυόμενο μενού (χρήσιμο αν δεν είναι ορατές όλες οι καρτέλες του επεξεργαστή). Η επιφάνεια εργασίας σας μπορεί να χρησιμοποιούσε ήδη αυτές τις συντομεύσεις. Σε αυτή την περίπτωση θα πρέπει να τις ρυθμίσετε εκ νέου (όχι στο Anjuta, εκεί θα έχουν διορθωθεί), αν επιθυμείτε να τις χρησιμοποιήσετε.</para>
     </listitem>
     <listitem>
      <para><emphasis>Σχετική βοήθεια:</emphasis><keycombo><keycap>Shift</keycap><keycap>F1</keycap></keycombo>. Τοποθετήστε το δρομέα στη λέξη (π.χ., στο όνομα της συνάρτησης) για την οποία χρειάζεστε βοήθεια και πληκτρολογήστε αυτή τη συντόμευση. Η σχετική βοήθεια λειτουργεί μόνο αν έχετε εγκατεστημένο το <application>Devhelp</application>. Διαφορετικά το μενού της σχετικής βοήθειας και το κουμπί στην εργαλειοθήκη θα είναι ανενεργά. Μπορείτε να λάβετε το Devhelp από την ιστοσελίδα του <application>Devhelp</application>. Θα πρέπει επίσης να εγκαταστήσετε τα σχετικά βιβλία του <application>Devhelp</application>.</para>
     </listitem>
     <listitem>
      <para><emphasis>Αυτόματη συμπλήρωση:</emphasis><keycombo><keycap>Ctrl</keycap><keycap>Enter</keycap></keycombo>. Χρησιμοποιήστε αυτή τη συντόμευση με το δρομέα τοποθετημένο στο τέλος μιας μισοτελειωμένης λέξης και θα εμφανιστεί μία λίστα λέξεων που ταιριάζουν. Επιλέξτε τη λέξη που σας ενδιαφέρει από τη λίστα.</para>
     </listitem>
     <listitem>
      <para><emphasis>Περισσότερες συντομεύσεις:</emphasis> Θα βρείτε τις συντομεύσεις στη δεξιά πλευρά των κατάλληλων στοιχείων μενού. Όπως θα δείτε και παρακάτω, επιτρέπεται η τροποποίηση συντομεύσεων.</para>
     </listitem>
    </itemizedlist>
   <tip>
   <title>Προσαρμογή συντομεύσεων</title>
   <para>Μπορείτε να αλλάξετε τις προεπιλεγμένες συντομεύσεις, επιλέγοντας το μενού <menuchoice><guisubmenu>Επεξεργασία</guisubmenu><guimenuitem>Προτιμήσεις</guimenuitem></menuchoice> και, στη συνέχεια, την καρτέλα <interface>Συντομεύσεις</interface>.</para>
   </tip>
   </para>
  </sect1>

<!-- ============= Getting Familiar: Main window  ============-->
  <sect1 id="main-win">
   <title>Κύριο παράθυρο</title>
   <para>Το κύριο παράθυρο περιέχει διάφορα παράθυρα προβολών, που μπορούν να μετακινηθούν αν σύρετε τις γραμμές τίτλου τους. Μπορούν, επίσης, να ελαχιστοποιηθούν, μέσω των κουμπιών ελαχιστοποίησης στα αριστερά των γραμμών τίτλου.</para>

   <para>
    <orderedlist>
     <listitem>
      <para>Το <interface>Παράθυρο εγγράφων</interface> θα περιέχει ένα ενεργό έγγραφο κάθε φορά (ακόμη και αν είναι περισσότερα αρχεία ανοιχτά). Όλες οι εντολές αρχείων θα αφορούν το ενεργό αυτό έγγραφο. Μπορείτε να αλλάξετε το ενεργό έγγραφο κάνοντας κλικ στην καρτέλα ενός άλλου εγγράφου. Διαφορετικά, κάντε δεξί κλικ στην περιοχή των καρτελών και επιλέξτε το νέο έγγραφο από το σχετικό μενού (χρήσιμο αν δεν είναι ορατές όλες οι καρτέλες).</para>
	 </listitem>
     <listitem>
      <para>ΤΟ <interface>Παράθυρο του έργου</interface> προβάλλει ένα δέντρο με τα αρχεία του έργου, εφόσον υπάρχει έργο ανοιχτό. Αν δεν υπάρχει έργο ανοιχτό, το <interface>παράθυρο του έργου</interface> συνήθως παραμένει κρυμμένο. Μπορείτε να ανοίξετε οποιοδήποτε αρχείο στο <interface>παράθυρο του έργου</interface> με δεξί κλικ στο αρχείο αυτό.</para>
     </listitem>
      <listitem>
      <para>Το <interface>Παράθυρο αρχείων</interface> προβάλλει ένα δέντρο αρχείων. Αν δεν έχετε ανοιχτό κάποιο έργο, το δέντρο συνήθως εμφανίζει το root του συστήματος αρχείων σας (αν και αυτό μπορεί να αλλάξει από τις προτιμήσεις). Αν έχετε ανοιχτό ένα έργο, το παράθυρο δείχνει όλα τα αρχεία του έργου. Με διπλό κλικ σε ένα αρχείο, το αρχείο αυτό ανοίγει στην κατάλληλη εφαρμογή (σύμφωνα με τις προτιμήσεις ΜΙΜΕ του GNOME). Με δεξί κλικ στο αρχείο, ανοίγει ένα μενού με επιλογές για το άνοιγμα του αρχείου.</para>
     </listitem>
      <listitem>
      <para>Το <interface>Παράθυρο συμβόλων</interface> προβάλλει ένα δέντρο με τα διαθέσιμα σύμβολα του έργου, που συγκεντρώνονται από τον αναλυτή <application>ctags</application>. Με δεξί κλικ ανοίγετε ένα παράθυρο επεξεργαστή με το αρχείο ανοιχτό στην κατάλληλη γραμμή.</para>
      <para>Στο παράθυρο συμβόλων υπάρχει και μία <interface>Καρτέλα αναζήτησης</interface> από όπου μπορείτε να αναζητάτε σύμβολα.</para>
     </listitem>
     <listitem>
      <para>Το <interface>Παράθυρο μηνυμάτων</interface> καταγράφει όλα τα μηνύματα (από το <filename>stdout</filename> και το <filename>stderr</filename>) που εμφανίζονται κατά την εκτέλεση μιας εξωτερικής εντολής. Συνήθως, το <interface>Παράθυρο μηνυμάτων</interface> είναι κρυμμένο, αλλά εμφανίζεται από τη στιγμή που ξεκινάει η εκτέλεση μιας εξωτερικής εντολής, όπως η μεταγλώττιση αρχείου ή έργου, η εκσφαλμάτωση, η αναζήτηση, κτλ. Παράλληλα, όποτε χρειάζεται, το <application>Anjuta</application> προσθέτει και τα δικά του μηνύματα.</para>
      <para>Τα χρώματα που χρησιμοποιούνται για τα μηνύματα παίζουν σημαντικό ρόλο. Τα μηνύματα που χρησιμοποιούν το κανονικό χρώμα προσκηνίου (συνήθως μαύρο) είναι κανονικά μηνύματα. Τα μηνύματα σε πορτοκαλί χρώμα είναι προειδοποιήσεις και τα μηνύματα σε κόκκινο είναι σφάλματα. Τα μηνύματα λαθών και προειδοποιήσεων είναι <emphasis>συνδεδεμένα</emphasis>: με δεξί κλικ σε ένα τέτοιο μήνυμα θα προωθηθείτε στην κατάλληλη αρχή του κατάλληλου αρχείου.</para>
      <para>Για παράδειγμα, αν μεταγλωττίζετε ένα αρχείο που περιέχει σφάλματα, θα εμφανιστούν ορισμένα κόκκινα μηνύματα που θα αναφέρουν ποια είναι τα προβλήματα και πού βρίσκονται. </para>
     </listitem>
     <listitem>
      <para>Το <interface>Παράθυρο τερματικού</interface> είναι μία εξομοίωση τερματικού, από όπου μπορείτε να εισάγετε εντολές με τον ίδιο ακριβώς τρόπο όπως και από το Τερματικό του GNOME.</para>
     </listitem>
    </orderedlist>
   </para>
   <note>
   <title>Διαχείριση συνεδρίας</title>
   <para>Κατά την έξοδό σας από το <application>Anjuta</application> αποθηκεύονται όλες οι ρυθμίσεις σας, συμπεριλαμβανομένων και των μεγεθών και θέσεων των παραθύρων. Η διαχείριση συνεδρίας είναι υπό ανάπτυξη, οπότε καλό είναι να μην τερματίζετε το <application>Anjuta</application> πριν αποθηκεύσετε όλα τα έγγραφά σας. Το <application>Anjuta</application> θα σας εμφανίσει μία προειδοποίηση αν προσπαθήσετε να κάνετε έξοδο χωρίς να αποθηκεύσετε όλα τα ανοιχτά έγγραφά σας.</para>
   </note>
  </sect1>
 </chapter>

 <!-- File operations -->
  <chapter id="file-operations">
  <title>Λειτουργίες αρχείων</title>
  
  <!-- ============= File operations: Creating a new file === -->
  <sect1 id="creating-files">
   <title>Δημιουργία νέου αρχείου και εισαγωγή κειμένου</title>
    <sect2 id="new-file">
    <title>Δημιουργία νέου αρχείου</title>
     <para>Για να δημιουργήσετε ένα νέο αρχείο, επιλέξτε <menuchoice><guisubmenu>Αρχείο</guisubmenu><guimenuitem>Νέο</guimenuitem></menuchoice> από τη γραμμή μενού, ή πατήστε το κουμπί <guibutton>Νέο αρχείο</guibutton> στην κύρια εργαλειοθήκη. Θα εμφανιστεί μία νέα σελίδα στον επεξεργαστή (ή ένα νέο παράθυρο, αν αυτό προβλέπουν οι ρυθμίσεις του γονικού αρχείου). Στα νέα έγγραφα δίνονται τα ονόματα <filename>Νέο αρχείο#1</filename>, <filename>Νέο αρχείο#2</filename>, <filename>Νέο αρχείο#3</filename>, κ.ο.κ.</para>
	   <important>
	   <title>Αποθήκευση αρχείων</title>
	   <para>Αποθηκεύετε τα νέα σας έγγραφα με την πρώτη ευκαιρία, για να μην απωλέσετε δεδομένα σε περίπτωση κατάρρευσης του συστήματος.</para>
	   </important>
    </sect2>
    <sect2 id="file-wizard">
    <title>Οδηγός αρχείων</title>
     <para>Μπορείτε, επίσης, να χρησιμοποιήσετε τον οδηγό για τη δημιουργία νέων αρχείων. Επιλέξτε <menuchoice><guisubmenu>Αρχείο</guisubmenu><guisubmenu>Νέο</guisubmenu><guimenuitem>Αρχείο</guimenuitem></menuchoice> από τη γραμμή μενού. Θα ανοίξει ο διάλογος Νέο αρχείο. Επιλέξτε τον τύπο αρχείου και εισάγετε ένα όνομα αρχείου. Η επέκταση προστίθεται αυτόματα. Μπορείτε ακόμη να προσθέσετε πληροφορίες για την άδεια χρήσης (ανάλογα με την άδεια που έχετε επιλέξει) και κεφαλίδα. Στην περίπτωση των αρχείων κεφαλίδας C/C++, μπορείτε να προσθέσετε και πρότυπο κεφαλίδας. Πατήστε <guibutton>Εντάξει</guibutton> για να δημιουργήσετε το αρχείο. <figure id="new-file-wizard">
       <title>Οδηγός δημιουργίας νέου αρχείου</title>
       <screenshot>
        <screeninfo>Ο διάλογος Άνοιγμα αρχείου</screeninfo>
        <graphic fileref="figures/new_file_wizard.png" format="PNG" srccredit="jnoel"/>
       </screenshot>
      </figure></para>
     <para>Σε ορισμένες περιπτώσεις, το <application>Anjuta</application> δημιουργεί αυτόματα νέα παράθυρα αρχείων. Για παράδειγμα, ορισμένες λειτουργίες του Subversion, όπως το <command>Diff</command> και η <command>Προβολή καταγραφών</command>, δημιουργούν νέα παράθυρα αρχείων για να εμφανίσουν τα αποτελέσματά τους. Αν το επιθυμείτε, μπορείτε να αποθηκεύσετε τα περιεχόμενα αυτών των παραθύρων σε πραγματικά αρχεία.</para>
     </sect2>
     <sect2 id="inserting-macros">
      <title>Εισαγωγή μακροεντολών</title>
       <para>Μπορείτε να χρησιμοποιείτε <emphasis>μακροεντολές</emphasis> για να διευκολύνετε την επεξεργασία επαναλαμβανόμενων κειμένων.</para>
       <important>
       <para>Πρέπει να είναι ενεργοποιημένο το πρόσθετο των μακροεντολών.</para>
       </important>
      <sect3 id="inserting">
       <title>Εισαγωγή</title>
       <para>Υπάρχουν δύο τύποι μακροεντολών: Οι μακροεντολές του Anjuta και οι μακροεντολές του χρήστη ("Οι μακροεντολές μου"). Δεν επιτρέπεται η τροποποίηση των μακροεντολών του Anjuta, αλλά μπορείτε να ορίζετε και να τροποποιείτε τις μακροεντολές χρήστη.</para>
       <para>Για να εισάγετε μια μακροεντολή, μετακινήστε το δρομέα στο επιθυμητό σημείο. Επιλέξτε <menuchoice><guisubmenu>Επεξεργασία</guisubmenu><guisubmenu>Μακροεντολές</guisubmenu><guimenuitem>Μακροεντολές...</guimenuitem></menuchoice>. Εμφανίζεται ένα παράθυρο διαλόγου. Επιλέξτε την επιθυμητή μακροεντολή από τη λίστα. Στο παράθυρο βλέπετε το αποτέλεσμα της μακροεντολής, ακολουθούμενο από μία περίληψη. Επιλέξτε <guibutton>Εισαγωγή</guibutton>. Το κείμενο της μακροεντολής εισάγεται στο σημείο όπου βρίσκεται ο δρομέας.</para>
       <para>Ένας εναλλακτικός τρόπος για την εισαγωγή μακροεντολών είναι να επιλέξετε <menuchoice><guisubmenu>Επεξεργασία</guisubmenu><guisubmenu>Μακροεντολές</guisubmenu><guimenuitem>Εισαγωγή Μακροεντολής...</guimenuitem></menuchoice>, και μετά να πατήσετε την επιθυμητή συντόμευση. <figure id="display-macro">
         <title>Μακροεντολή</title>
          <screenshot>
           <screeninfo>Ο διάλογος Μακροεντολών</screeninfo>
           <graphic fileref="figures/display_macro.png" format="PNG" srccredit="jnoel"/>
          </screenshot>
        </figure></para>
       </sect3>
       <sect3 id="defining-macro">
        <title>Ορισμός μακροεντολών</title>
        <para>Από το παράθυρο εισαγωγής μακροεντολών επιλέξτε <guibutton>Προσθήκη</guibutton>, ή επιλέξτε <menuchoice><guisubmenu>Επεξεργασία</guisubmenu><guisubmenu>Μακροεντολές</guisubmenu><guimenuitem>Προσθήκη μακροεντολής...</guimenuitem></menuchoice>. Εμφανίζεται το παράθυρο Προσθήκη/Επεξεργασία. Εισάγετε το όνομα της μακροεντολής, επιλέξτε ή ορίστε νέα κατηγορία, και εισάγετε τη συντόμευση. Στη συνέχεια, προσθέστε το κείμενο της μακροεντολής σας. Ο χαρακτήρας ' | '  καθορίζει τη θέση του δρομέα μετά την εισαγωγή της μακροεντολής. Επιλέξτε <guibutton>Εντάξει</guibutton>. Η μακροεντολή προστίθεται στη λίστα.</para>
        <para>Μπορείτε να διαγράψετε μια μακροεντολή, επιλέγοντάς τη από τη λίστα και πατώντας <guibutton>Αφαίρεση</guibutton>. Φυσικά, αυτή η λειτουργία ισχύει μόνο για τις μακροεντολές του χρήστη (Οι μακροεντολές μου).</para>
        <para>Ομοίως, μπορείτε να επεξεργαστείτε και να τροποποιήσετε μια μακροεντολή, επιλέγοντάς τη από τη λίστα και πατώντας <guibutton>Επεξεργασία</guibutton>. <figure id="add-edit-macro">
          <title>Προσθήκη/Επεξεργασία μακροεντολών</title>
          <screenshot>
           <screeninfo>Διάλογος Προσθήκη/Επεξεργασία</screeninfo>
           <graphic fileref="figures/add_edit_macro.png" format="PNG" srccredit="jnoel"/>
          </screenshot>
         </figure></para>
       </sect3>
       <sect3 id="macro-keyword">
        <title>Εντολές-κλειδιά μακροεντολών</title>
        <para>Υπάχουν εντολές-κλειδιά μακροεντολών, που μπορούν να συμπεριληφθούν στους ορισμούς των μακροεντολών. Αυτές οι εντολές ξεκινούν και τερματίζουν με τον χαρακτήρα ' @ '.</para>
        <para>Οι διαθέσιμες εντολές μακροεντολών είναι οι @DATE_TIME@, @DATE_YMD@, @DATE_Y@, @USER_NAME@, @FILE_NAME@, @FILE_NAME_UP@, @FILE_NAME_UP_PREFIX@, @EMAIL@, @TABSIZE@, @INDENTSIZE@ και @USETABS@. <figure id="keyword-macro">
         <title>Εντολή-κλειδί μακροεντολής</title>
          <screenshot>
           <screeninfo>Η εντολή-κλειδί μακροεντολής</screeninfo>
           <graphic fileref="figures/keyword_macro.png" format="PNG" srccredit="jnoel"/>
          </screenshot>
         </figure></para>
      </sect3>
     </sect2>
  </sect1>

 <!-- ============= File operations: Opening and saving files === -->
  <sect1 id="open-save-files">
   <title>Άνοιγμα και αποθήκευση αρχείων</title>
   <para>
    <orderedlist>
     <listitem>
      <para><emphasis>Άνοιγμα αρχείου:</emphasis> Για να ανοίξετε ένα υπάρχον αρχείο, επιλέξτε <menuchoice><guisubmenu>Αρχείο</guisubmenu><guimenuitem>Άνοιγμα</guimenuitem></menuchoice> από τη γραμμή μενού, ή πατήστε το κουμπί <guibutton>Άνοιγμα</guibutton> της εργαλειοθήκης, ή πατήστε <keycombo><keycap>Ctrl</keycap><keycap>O</keycap></keycombo>. Θα εμφανιστεί ο διάλογος <interface>Άνοιγμα αρχείου</interface>. <figure id="open-file">
        <title>Διάλογος Άνοιγμα αρχείου</title>
        <screenshot>
		<screeninfo>Ο διάλογος Άνοιγμα αρχείου</screeninfo>
         <graphic fileref="figures/open_file.png" format="PNG" srccredit="jnoel"/>
        </screenshot>
       </figure> Επιλέξτε ή εισάγετε το όνομα του επιθυμητού αρχείου και πατήστε <guibutton>Άνοιγμα</guibutton>. Για να ανοίξετε ταυτόχρονα περισσότερα από ένα αρχεία, επιλέξτε πολλαπλά αρχεία κρατώντας πατημένο το πλήκτρο <keycap>Ctrl</keycap> και κάνοντας κλικ σε κάθε αρχείο που σας ενδιαφέρει· μετά, πατήστε <guibutton>Άνοιγμα</guibutton>. Αν αλλάξατε γνώμη, πατήστε <guibutton>Ακύρωση</guibutton> για να κλείσετε το διάλογο χωρίς να επιλέξετε κανένα αρχείο.</para>
	  <para>
	   <figure id="open-file-multiple">
        <title>Διάλογος ανοίγματος πολλαπλών αρχείων</title>
        <screenshot>
		<screeninfo>Ο διάλογος Άνοιγμα αρχείου σε λειτουργία επιλογής πολλαπλών αρχείων</screeninfo>
         <graphic fileref="figures/open_file_multiple.png" format="PNG" srccredit="jnoel"/>
        </screenshot>
       </figure>
	  </para>
	  <para>Μπορείτε να σημειώσετε την επιλογή <emphasis>Εμφάνιση κρυφών αρχείων</emphasis> από το μενού που εμφανίζεται με δεξί κλικ στο διάλογο ανοίγματος αρχείων. Αυτή η επιλογή εμφανίζει στη λίστα τα κρυφά αρχεία (αρχεία που ξεκινούν με "."). Αν αποεπιλέξετε την επιλογή, τα κρυφά αρχεία θα εξαφανιστούν και πάλι. Ο διάλογος ανοίγματος αρχείων περιέχει, επίσης, ένα ενσωματωμένο φίλτρο τύπων αρχείου. Επιλέξτε το κατάλληλο φίλτρο τύπων αρχείου από το διάλογο και η λίστα θα περιέχει πλέον μόνο αρχεία του συγκεκριμένου τύπου (ή τύπων).</para>
     </listitem>
     
     <listitem>
      <para><emphasis>Αποθήκευση αρχείου:</emphasis> Για να αποθηκεύσετε ένα αρχείο, επιλέξτε <menuchoice><guisubmenu>Αρχείο</guisubmenu><guimenuitem>Αποθήκευση</guimenuitem></menuchoice> από τη γραμμή μενού, ή πατήστε το κουμπί <guibutton>Αποθήκευση</guibutton> της εργαλειοθήκης, ή πατήστε <keycombo><keycap>Ctrl</keycap><keycap>S</keycap></keycombo>. Το αρχείο σας θα αποθηκευτεί αμέσως. Αν το αρχείο είναι νέο, θα εμφανιστεί ο διάλογος <interface>Αποθήκευση ως</interface>. Εισάγετε ένα όνομα αρχείου και πατήστε <guibutton>Αποθήκευση</guibutton> για να αποθηκεύσετε το νέο αρχείο με αυτό το όνομα. <screenshot>
	    <screeninfo>Διάλογος Αποθήκευση αρχείου ως</screeninfo>
            <graphic fileref="figures/save_as_file.png" format="PNG" srccredit="jnoel"/>
           </screenshot></para>
	   <note>
	   <title>Aυτόματη αποθήκευση αρχείων</title>
		<para>Αν έχετε ενεργοποιήσει την αυτόματη αποθήκευση, θυμηθείτε ότι το Anjuta δεν αποθηκεύει αυτόματα τα νέα αρχεία. Πρώτα θα πρέπει να τα αποθηκεύσετε με το χέρι. Το ίδιο ισχύει και για την επιλογή <guimenuitem>Αποθήκευση όλων</guimenuitem>: το Anjuta δεν αποθηκεύει τα νέα αρχεία, αν δεν τα έχετε πρώτα αποθηκεύσει με το χέρι. <emphasis>Πρέπει πρώτα να αποθηκεύσετε ένα νέο αρχείο με το χέρι, για να μπορούν να λειτουργήσουν η αυτόματη αποθήκευση και η <guimenuitem>Αποθήκευση όλων</guimenuitem></emphasis>.</para>
	   </note>
     </listitem>

     <listitem>
      <para><emphasis>Αποθήκευση αρχείου με διαφορετικό όνομα:</emphasis> Μπορείτε να αποθηκεύσετε ένα αρχείο με νέο όνομα. Για να το επιτύχετε, επιλέξτε <menuchoice><guisubmenu>Αρχείο</guisubmenu><guimenuitem>Αποθήκευση ως</guimenuitem></menuchoice> από τη γραμμή μενού. Εμφανίζεται ο διάλογος <interface>Αποθήκευση ως</interface> και σας ζητά να εισάγετε νέο όνομα αρχείου. Πληκτρολογήστε το νέο όνομα και πατήστε <guibutton>Αποθήκευση</guibutton>.</para>
      <note>
       <title>Αποθήκευση αρχείου με αντικατάσταση υπάρχοντος</title>
       <para>Όταν χρησιμοποιείτε το <guimenuitem>Αποθήκευση ως</guimenuitem> με υπάρχον αρχείο, το αρχικό αρχείο δεν διαγράφετε. Απλά, παραμένει στην κατάσταση στην οποία βρισκόταν κατά την τελευταία αποθήκευσή του. Αν υπάρχει ήδη αρχείο με το νέο όνομα αρχείου, εμφανίζεται ένας διάλογος για να επιβεβαιώσει ότι όντως επιθυμείτε να αντικαταστήσετε το αρχείο. Αν πατήσετε <guibutton>Ναι</guibutton>, το παλαιό αρχείο θα αντικατασταθεί από το αρχείο που αποθηκεύετε.</para>
      </note>
     </listitem>
     
     <listitem>
      <para><emphasis>Κλείσιμο αρχείου:</emphasis> Για να κλείσετε το τρέχον αρχείο, επιλέξτε <menuchoice><guisubmenu>Αρχείο</guisubmenu><guimenuitem>Κλείσιμο</guimenuitem></menuchoice> από τη γραμμή μενού, ή πατήστε το κουμπί <guibutton>Κλείσιμο</guibutton> στην εργαλειοθήκη. (Μπορείτε ακόμη να κλείσετε το αρχείο πατώντας το Χ στην καρτέλα με το όνομά του.) Αν το αρχείο δεν έχει αποθηκευτεί, ή αν πρόκειται για νέο αρχείο, τότε το <application>Anjuta</application> θα σας ζητήσει να αποθηκεύσετε το αρχείο πριν το κλείσετε.</para>
     </listitem> 
    </orderedlist>
   </para>
  </sect1>
 
 <!-- ============= File operations: Editing files === -->
  <sect1 id="editing-files">
   <title>Επεξεργασία αρχείων</title>
   <para>Το <application>Anjuta</application> διαθέτει διάφορες λειτουργίες που σας επιτρέπουν να επεξεργάζεστε και να χειρίζεστε αρχείο πηγαίου κώδικα. Στις παρακάτω ενότητες περιγράφονται ορισμένες από τις διαθέσιμες λειτουργίες.</para>
   <sect2 id="editor-margins-sec">
   <title>Περιθώρια επεξεργαστή</title>
      <para><emphasis>Περιθώρια επεξεργαστή:</emphasis> Τα περιθώρια του επεξεργαστή αφορούν την αριστερή πλευρά της σελίδας και χρησιμοποιούνται για ειδικούς σκοπούς. Υπάρχουν τρία διαθέσιμα περιθώρια επεξεργαστή: το <emphasis>περιθώριο αριθμού γραμμών</emphasis>, το <emphasis>περιθώριο δεικτών</emphasis> και το <emphasis>περιθώριο αναδίπλωσης κώδικα</emphasis>. Η προεπιλογή (όταν χρησιμοποιείτε το <application>Anjuta</application> για πρώτη φορά) είναι να εμφανίζεται μόνο το περιθώριο αναδίπλωσης κώδικα. Τα άλλα περιθώρια μπορούν να εμφανιστούν αν τα επιλέξετε από το μενού <menuchoice><guimenu>Προβολή</guimenu><guisubmenu>Επεξεργαστής</guisubmenu></menuchoice>. <figure id="editor-margins">
        <title>Περιθώρια επεξεργαστή</title>
        <screenshot>
         <screeninfo>Η εργαλειοθήκη ετικέτων</screeninfo>
         <graphic fileref="figures/editor_margins.png" format="PNG" srccredit="naba"/>
        </screenshot>
       </figure></para>
       <para>Το <emphasis>Περιθώριο αριθμού γραμμών</emphasis> είναι το μεγαλύτερο από το τρία (και ελαφρώς πιο σκουρόχρωμο από τα υπόλοιπα) και εμφανίζει τους αριθμούς των γραμμών του εγγράφου. Μπορείτε να εμφανίζετε ή να κρύβετε το <emphasis>Περιθώριο αριθμού γραμμών</emphasis> από την επιλογή <menuchoice><guimenu>Προβολή</guimenu><guisubmenu>Επεξεργαστής</guisubmenu><guimenuitem>Περιθώριο αριθμού γραμμών</guimenuitem></menuchoice>. Με αριστερό κλικ στο περιθώριο αυτό μπορείτε να επιλέξετε ολόκληρη τη γραμμή (συμπεριλαμβανομένης και της αλλαγής γραμμής, αν υπάρχει). Μπορείτε να προσαρμόσετε τη γραμματοσειρά του περιθωρίου αριθμού γραμμών από τις προτιμήσεις.</para>
	  <para>Μπορείτε να εμφανίζετε ή να κρύβετε το <emphasis>Περιθώριο δεικτών</emphasis> από την επιλογή <menuchoice><guimenu>Προβολή</guimenu><guisubmenu>Επεξεργαστής</guisubmenu><guimenuitem>Περιθώριο δεικτών</guimenuitem></menuchoice>. Το περιθώριο αυτό περιέχει εικονίδια-δείκτες για κάθε γραμμή. Τα εικονίδια αυτά μπορεί να είναι δείκτες σελιδοδεικτών (γαλάζια ορθογώνια), δείκτες σημείων διακοπής - breakpoints (κόκκινοι κύκλοι) και δείκτες τρέχουσας γραμμής (κίτρινα βέλη). Οι δείκτες σελιδοδεικτών υποδεικνύουν ότι η συγκεκριμένη γραμμή έχει αποθηκευτεί σε σελιδοδείκτη. Μπορείτε να προσθέσετε ή να αφαιρέσετε σελιδοδείκτες τοποθετώντας το δρομέα στην επιθυμητή γραμμή και επιλέγοντας ή αποεπιλέγοντας το <menuchoice><guimenu>Μετάβαση σε</guimenu><guisubmenu>Σελιδοδείκτη</guisubmenu><guimenuitem>Εναλλαγή σελιδοδείκτη</guimenuitem></menuchoice>. Οι δείκτες σημείων διακοπής χρησιμοποιούνται από την εφαρμογή εκσφαλμάτωσης και υποδεικνύουν τα σημεία διακοπής της εκσφαλμάτωσης (για περισσότερες πληροφορίες δείτε την ενότητα για την Εκσφαλμάτωση). Οι δείκτες τρέχουσας γραμμής υποδεικνύουν τη θέση στο τρέχον πρόγραμμα όπου βρίσκεται η εφαρμογή εκσφαλμάτωσης.</para>
       <para>Στο <emphasis>Περιθώριο αναδίπλωσης κώδικα</emphasis> εμφανίζεται το δέντρο αναδιπλώσεων του κώδικα. Με κλικ στους κόμβους αναδίπλωσης του δέντρου μπορείτε να αναδιπλώνετε ή να αναπτύσσετε μπλοκ κώδικα. Για να είναι πιο εμφανή τα σημεία στα οποία έχει γίνει αναδίπλωση ενός μπλοκ κώδικα, χαράσσεται μία οριζόντια γραμμή κάτω από τη γραμμή που προηγείται του αναδιπλωμένου κώδικα. Για περισσότερες λεπτομέρειες σχετικά με την αναδίπλωση κώδικα, δείτε την ενότητα <emphasis>Αναδίπλωση κώδικα</emphasis> παρακάτω.</para>
       <note>
       <title>Απενεργοποιημένο περιθώριο δεικτών</title>
        <para>Αν είναι απενεργοποιημένο το περιθώριο δεικτών, το Anjuta χρησιμοποιεί ως δείκτη το χρώμα παρασκηνίου κάθε γραμμής. Π.χ., αν υπάρχει σημείο διακοπής σε μία γραμμή και δεν μπορεί να εμφανιστεί ο κατάλληλος δείκτης στο περιθώριο, αυτή η γραμμή θα έχει κόκκινο παρασκήνιο. Οι δείκτες σελιδοδεικτών και τρέχουσας γραμμής θα διαθέτουν γαλάζιο και κίτρινο περιθώριο, αντίστοιχα. Αν δεν σας αρέσει αυτός ο τρόπος εμφάνισης (π.χ., επειδή δεν ταιριάζει με το θέμα σας), ενεργοποιήστε το περιθώριο δεικτών επιλέγοντας <menuchoice><guimenu>Προβολή</guimenu><guisubmenu>Επεξεργαστής</guisubmenu><guimenuitem>Περιθώριο δεικτών</guimenuitem></menuchoice>. <figure id="editor-markers">
          <title>Δείκτες του επεξεργαστή όταν είναι απενεργοποιημένο το περιθώριο δεικτών</title>
          <screenshot>
           <screeninfo>Η εργαλειοθήκη ετικέτων</screeninfo>
           <graphic fileref="figures/editor_markers.png" format="PNG" srccredit="naba"/>
          </screenshot>
         </figure></para>
       </note>
      </sect2>
      <sect2 id="editor-guides-sec">
      <title>Οδηγοί επεξεργαστή</title>
      <para>Μπορείτε να ρυθμίσετε τον επεξεργαστή έτσι ώστε να εμφανίζει ορισμένες πληροφορίες του εγγράφου που συνήθως δεν είναι ορατές, όπως οι <emphasis>οδηγοί εσοχών</emphasis>, οι <emphasis>κενοί χαρακτήρες</emphasis> και οι <emphasis>χαρακτήρες τέλους γραμμής</emphasis>. Μπορείτε να εμφανίζετε ή να κρύβετε τις πληροφορίες αυτές επιλέγοντας ή αποεπιλέγοντας τις αντίστοιχες επιλογές στο μενού <menuchoice><guimenu>Προβολή</guimenu><guisubmenu>Επεξεργαστής</guisubmenu></menuchoice>. Οι οδηγοί εσοχών εμφανίζονται ως γραμμές από μικρές τελείες που συνδέουν ζεύγη αγκίστρων στον πηγαίο κώδικα. Όταν ο δρομέας βρίσκεται πάνω σε ένα άγκιστρο, επισημαίνεται ο αντίστοιχος οδηγός εσοχής, ώστε να μπορείτε να οπτικοποιήσετε καλύτερα το επίπεδο εσοχής.</para>
       <figure id="editor-guides">
        <title>Ο επεξεργαστής με χρήση οδηγών</title>
        <screenshot>
         <screeninfo>Ο επεξεργαστής με χρήση οδηγών</screeninfo>
         <graphic fileref="figures/editor_guides.png" format="PNG" srccredit="naba"/>
        </screenshot>
      </figure>
    </sect2>
   <sect2 id="highlighting">
   <title>Επισήμανση σύνταξης</title>
   <para>Το <application>Anjuta</application> μπορεί να επισημαίνει τη σύνταξη σε διάφορες γλώσσες προγραμματισμού. Η επιλογή του τύπου αρχείου συνήθως γίνεται αυτόματα με βάση την επέκταση του αρχείου. Αν το <application>Anjuta</application> δεν μπορέσει να καθορίσει τον τύπο του αρχείου, δεν θα επισημάνει τη σύνταξη. Μπορείτε να επιβάλλετε τη χρήση συγκεκριμένης μορφής επισήμανσης, σημειώνοντας την κατάλληλη επιλογή από το μενού <menuchoice><guimenu>Προβολή</guimenu><guisubmenu>Επεξεργαστής</guisubmenu><guisubmenu>Μορφή επισήμανσης</guisubmenu></menuchoice>.</para>
    <note>
     <para>Το Anjuta χρησιμοποιεί ένα αρχείο ιδιοτήτων με όνομα <filename>$prefix/share/anjuta/properties/anjuta.properties</filename>, που έχει την ίδια μορφή με τα αρχεία ιδιοτήτων SciTE, αλλά δεν χρησιμοποιεί όλες τις ιδιότητές τους. Το στυλ κάθε στοιχείου στις διάφορες γλώσσες καθορίζεται από το αρχείο <filename>$prefix/share/anjuta/properties/styles.properties</filename>. Χρησιμοποιεί και ορισμένες από τις κοινές ιδιότητες που ορίζει το Anjuta στο αρχείο <filename>$home/.config/anjuta/scintilla/editor-style.properties</filename>.</para>
   </note>
   </sect2>
   <sect2 id="codefolding">
    <title>Αναδίπλωση κώδικα</title>
    <para>Το Anjuta μπορεί να χρησιμοποιεί <emphasis>αναδίπλωση κώδικα</emphasis> για αρχεία πηγαίου κώδικα γραμμένα σε γλώσσες που χρησιμοποιούν δομή μπλοκ (π.χ. C, C++, Pascal και Java). Μπορείτε να αναδιπλώνετε ή να αναπτύσσετε όλα τα μπλοκ κώδικα του αρχείου με κλικ στους κόμβους αναδίπλωσης του περιθωρίου αναδίπλωσης κώδικα του παραθύρου του <interface>Επεξεργαστή</interface> (συνήθως συμβολίζονται με +/- ή με πάνω/κάτω βέλος). Οι κόμβοι αναδίπλωσης εμφανίζονται αυτομάτως στα πηγαία αρχεία που χρησιμοποιούν μπλοκ κώδικα.</para>
    <para>Η αναδίπλωση κώδικα μπορεί να αποδειχτεί εξαιρετικά χρήσιμη αν επεξεργάζεστε πολύ μεγάλα αρχεία με χιλιάδες γραμμές κώδικα. Με την αναδίπλωση, το έγγραφο εμφανίζεται σαφώς μικρότερο και διευκολύνεται η περιήγηση και επεξεργασία του.</para>
    <note>
     <para>Σημειώστε ότι η αναδίπλωση κώδικα και οι οδηγοί του επεξεργαστή είναι διαθέσιμοι μόνο στον επεξεργαστή με βάση το Scintilla.</para>
	</note>
   </sect2>
   <sect2 id="autoformat">
    <title>Αυτόματη μορφοποίηση πηγαίου κώδικα</title>
    <para>Το Anjuta μπορεί να προσθέτει αυτομάτως εσοχές (αυτόματη μορφοποίηση) σε πηγαία αρχεία ή αρχεία κεφαλίδων C και C++. Αυτό καθιστά πιο καθαρή την εμφάνιση του κώδικα, αυξάνει την αναγνωσιμότητά του, μειώνει την πιθανότητα συντακτικών λαθών, και, το κυριότερο, σας εξοικονομεί χρόνο. Για να προσθέσετε αυτόματα εσοχές στο τρέχον πηγαίο αρχείο, επιλέξτε <menuchoice><guimenu>Επεξεργασία</guimenu><guimenuitem>Αυτόματες εσοχές</guimenuitem></menuchoice> από τη γραμμή μενού. Μπορείτε να χρησιμοποιήσετε τις προτιμήσεις της εφαρμογής για να προσαρμόσετε το στυλ της μορφοποίησης στις απαιτήσεις σας.</para>
   </sect2>
  </sect1>

 <!-- ============= File operations: Browsing with the tags browser ===   -->
  <sect1 id="browsing-files">
   <title>Ο περιηγητής συμβόλων</title>
   <para>Μπορείτε να περιηγήστε σε πηγαία αρχεία ή αρχεία κεφαλίδων C και C++ χρησιμοποιώντας <emphasis>ετικέτες</emphasis>. Μια ετικέτα (ή <emphasis>σύμβολο</emphasis>) αναφέρεται σε μία οντότητα με ορισμένο όνομα, π.χ. έναν ορισμό συνάρτησης, μία δομή ή μία μακροεντολή. Το Anjuta σαρώνει τα ανοιχτά πηγαία αρχεία και αρχεία κεφαλίδων C και C++ για να εντοπίσει τις διαθέσιμες ετικέτες.</para>
   <para>Το <application>Anjuta</application> σαρώνει αυτόματα τα αρχεία πηγαίου κώδικα και κεφαλίδων των ανοιχτών έργων για να εντοπίσει τις υπάρχουσες ετικέτες. Μπορείτε να μεταβείτε απευθείας σε οποιονδήποτε ορισμό συνάρτησης, δομής ή κλάσης, και σε οποιαδήποτε άλλη ετικέτα, χωρίς να χρειαστεί να ανοίξετε εκ των προτέρων το αρχείο που την περιέχει. Δεν χρειάζεται καν να γνωρίζετε σε ποιο αρχείο βρίσκεται η ετικέτα. Ο περιηγητής συμβόλων εμφανίζει όλα τα σύμβολα του έργου. <figure id="symbol-browser">
     <title>Περιηγητής συμβόλων</title>
     <screenshot>
      <screeninfo>Περιηγητής συμβόλων</screeninfo>
      <graphic fileref="figures/symbol_browser.png" format="PNG" srccredit="jhs"/>
     </screenshot>
    </figure></para>
   <tip>
    <title>Συγχρονισμός ετικέτων</title>
    <para>Δεν χρειάζεται να ανησυχείτε για τον συγχρονισμό και την ενημέρωση της βάσης των ετικετών. Τα αναλαμβάνει όλα το <application>Anjuta</application>. Εσείς, απλά πρέπει να αποφασίσετε ποια ετικέτα σας ενδιαφέρει.</para>
   </tip>
   
  </sect1>

  <!-- ============= File operations: Searching and replacing in files === -->
  <sect1 id="search-replace-files">
   <title>Αναζήτηση και αντικατάσταση κειμένου σε αρχεία</title>
    <sect2 id="searching">
    <title>Αναζήτηση</title>
      <para>Για να αναζητήσετε ένα <emphasis>αλφαριθμητικό</emphasis> ή μια <emphasis>κανονική έκφραση</emphasis> στο τρέχον αρχείο, επιλέξτε <menuchoice><guimenu>Επεξεργασία</guimenu><guisubmenu>Αναζήτηση</guisubmenu><guimenuitem>Εύρεση</guimenuitem></menuchoice>, ή πατήστε <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F</keycap></keycombo>. Θα εμφανιστεί ο διάλογος <interface>Εύρεση</interface>.</para>
      <para>Εισάγετε στο πεδίο κειμένου το αλφαριθμητικό που θέλετε να αναζητήσετε και σημειώστε αν πρόκειται για απλό αλφαριθμητικό ή για κανονική έκφραση. Μπορείτε, επίσης, να καθορίσετε την κατεύθυνση της αναζήτησης, το αν θα γίνεται διάκριση πεζών/κεφαλαίων, καθώς και την εμβέλεια της αναζήτησης. Πατήστε <guibutton>Αναζήτηση</guibutton> για να ξεκινήσετε την αναζήτηση.</para>
      <para>Αν η αναζήτηση είναι επιτυχής, το Anjuta θα μεταβεί αυτομάτως στο ευρεθέν κείμενο, ή θα εκτελέσει κάποια άλλη ενέργεια (ανάλογα με το τι θα έχετε επιλέξει ως <guilabel>Ενέργεια αναζήτησης</guilabel> στην καρτέλα <guilabel>Στόχος αναζήτησης</guilabel>). Αν η αναζήτηση δεν αποδειχθεί επιτυχής, το Anjuta θα εμφανίσει ένα μήνυμα που θα εξηγεί ότι δε βρέθηκε το κείμενο της αναζήτησης.</para>
      <para>Αν θέλετε να επαναλάβετε την αναζήτηση, πατήστε ξανά το κουμπί <guibutton>Αναζήτηση</guibutton> ή πατήστε <keycombo><keycap>Ctrl</keycap><keycap>G</keycap></keycombo>. Θα μεταβείτε στο επόμενο αποτέλεσμα (πατήστε <keycombo><keycap>Shift</keycap><keycap>Ctrl</keycap><keycap>G</keycap></keycombo> για να μεταβείτε στο προηγούμενο αποτέλεσμα). Σε αυτή τη φάση μπορείτε, επίσης, να αλλάξετε το ζητούμενο κείμενο, εισάγοντας νέο αλφαριθμητικό στο πεδίο κειμένου <guilabel>Αναζήτηση έκφρασης</guilabel> του διαλόγου αναζήτησης.</para>
      <figure id="search-expr">
      <title>Διάλογος αναζήτησης κειμένου</title>
        <screenshot>
        <graphic fileref="figures/search_expr.png" format="PNG" srccredit="jhs"/>
        </screenshot>
      </figure>
	  <para>Για να διακόψετε μια χρονοβόρα αναζήτηση, πατήστε το κουμπί <guibutton>Διακοπή</guibutton>.</para>
    </sect2>
    <sect2 id="search-range">
    <title>Καθορισμός εμβέλειας αναζήτησης</title>
      <para>Στην καρτέλα <interface>Στόχος αναζήτησης</interface>, ορίστε την τοποθεσία για την αναζήτηση, καθώς και την ενέργεια που θα εκτελεστεί σε περίπτωση επιτυχίας της αναζήτησης.</para>
      <para>Μπορείτε να καθορίσετε ένα μέγιστο αριθμό ενεργειών που θα εκτελεστούν.</para>
      <figure id="search-target">
      <title>Διάλογος στόχου αναζήτησης</title>
        <screenshot>
        <graphic fileref="figures/search_target.png" format="PNG" srccredit="jhs"/>
        </screenshot>
      </figure>
      <para>Μπορείτε να επιλέξετε σε ποιο κείμενο θα γίνει η αναζήτηση.</para>
      <figure id="search-target-in">
      <title>Αναζήτηση στην επιλογή</title>
       <screenshot>
       <graphic fileref="figures/search_target_in.png" format="PNG" srccredit="jhs"/>
       </screenshot>
      </figure>
      <sect3 id="search-file">
      <title>Αναζήτηση σε αρχεία</title>
       <para>Για να βρείτε  κείμενο στο έργο σας, επιλέξτε 'Όλα τα αρχεία του έργου' στο <guilabel>Αναζήτηση σε</guilabel>.</para>
       <para>Στην καρτέλα <guilabel>Αναζήτηση έκφρασης</guilabel> εισάγετε το κείμενο που θέλετε να βρείτε και ορίστε τις επιλογές της αναζήτησης, όπως <guilabel>Διάκριση πεζών/κεφαλαίων</guilabel> ή <guilabel>Εύρεση ολόκληρων λέξεων</guilabel>. Πατήστε <guibutton>Αναζήτηση</guibutton> για να ξεκινήσετε την αναζήτηση.</para>
       <para>Για να βρείτε κείμενο σε μία ομάδα αρχείων, επιλέξτε 'Καθορίστε μοτίβα αρχείων' στο <guilabel>Αναζήτηση σε</guilabel>. Καθορίστε τις παραμέτρους της αναζήτησης. Πατήστε <guibutton>Αναζήτηση</guibutton> για να ξεκινήσετε την αναζήτηση.</para>	 
         <figure id="search-file-pattern">
         <title>Αναζήτηση μοτίβου αρχείων</title>
          <screenshot>
          <graphic fileref="figures/search_file_pattern.png" format="PNG" srccredit="jhs"/>
          </screenshot>
       </figure>

      </sect3>		 

	</sect2>
    <sect2 id="search-action">
    <title>Καθορισμός Ενέργειας αναζήτησης</title>
      <para>Μπορείτε να επιλέξετε την ενέργεια που θα εκτελεστεί αν είναι επιτυχής η αναζήτηση.</para>
      <para>Ανάλογα με τις άλλες επιλογές σας (<guilabel>Αναζήτηση σε</guilabel>, <guilabel>Κατεύθυνση αναζήτησης</guilabel>, κτλ), ορισμένες ενέργειες μπορεί να μην είναι διαθέσιμες.</para>
      <figure id="search-target-action">
      <title>Επιλογή ενέργειας στόχου αναζήτησης</title>
       <screenshot>
       <graphic fileref="figures/search_target_action.png" format="PNG" srccredit="jhs"/>
       </screenshot>
      </figure>
  
    </sect2>
    <sect2 id="replacing">
    <title>Αντικατάσταση</title>
      <para>Η εύρεση και αντικατάσταση είναι παρόμοια με την απλή αναζήτηση κειμένου, με τη διαφορά ότι προσδιορίζετε το κείμενο αντικατάστασης στο πεδίο <guilabel>Αντικατάσταση με</guilabel>. Επίσης, προσδιορίζετε αν θέλετε να επιβεβαιώνετε κάθε αντικατάσταση (Αντικατάσταση πρώτου ταιριάσματος ή Αντικατάσταση όλων των ταιριασμάτων).</para>
      <figure id="replace">
      <title>Αντικατάσταση</title>
        <screenshot>
        <graphic fileref="figures/search_replace.png" format="PNG" srccredit="jhs"/>
        </screenshot>
      </figure>
	  <para>Επιλέξτε <guibutton>Αντικατάσταση</guibutton> για να αντικαταστήσετε το ευρεθέν κείμενο ή <guibutton>Μπροστά</guibutton> για να μεταβείτε στο επόμενο αποτέλεσμα της αναζήτησης.</para>

	</sect2>
    <sect2 id="search-setting">
    <title>Ρυθμίσεις αναζήτησης</title>
      <para>Μπορείτε, επίσης, να αποθηκεύετε επιλογές αναζήτησης.</para>
      <para>Το στοιχείο κόκκινου χρώματος είναι το ενεργό στοιχείο. Το προεπιλεγμένο στοιχείο περιέχει τις ρυθμίσεις που φορτώνονται κάθε φορά που εκκινείται το Anjuta.</para>
      <figure id="search-setting-fig">
      <title>Διάλογος ρυθμίσεων αναζήτησης</title>
        <screenshot>
        <graphic fileref="figures/search_setting.png" format="PNG" srccredit="jhs"/>
        </screenshot>
       </figure>
    </sect2>

  </sect1>

 <!-- ============= File operations: Printing Files === -->
   <sect1 id="printing">
    <title>Εκτύπωση αρχείου</title>
    <para>Μπορείτε να δείτε την προεπισκόπηση εκτύπωσης επιλέγοντας <menuchoice><guisubmenu>Αρχείο</guisubmenu><guimenuitem>Προεπισκόπηση εκτύπωσης</guimenuitem></menuchoice>. Θα καθοριστεί η εμφάνιση του τρέχοντος αρχείου και θα εμφανιστεί μια προεπισκόπηση του τυπωμένου εγγράφου. Αν ο πηγαίος κώδικας εμφανίζεται με επισήμανση σύνταξης στον επεξεργαστή, οι επισημάνσεις θα εμφανίζονται και στην προεπισκόπηση (άρα και στο τυπωμένο έγγραφο). Η καρτέλα <guilabel>Εκτύπωση</guilabel> των προτιμήσεων του επεξεργαστή περιέχει ορισμένες επιπλέον επιλογές, που σας επιτρέπουν π.χ. να εκτυπώνετε τους αριθμούς των γραμμών ή να αναδιπλώνετε τις γραμμές και/ή τις κεφαλίδες. <figure>
       <title>Προεπισκόπηση εκτύπωσης αρχείου C</title>
       <screenshot>
       <screeninfo>Προεπισκόπηση εκτύπωσης</screeninfo>
        <graphic fileref="figures/print_preview.png" format="PNG" srccredit="jhs"/>
       </screenshot>
     </figure></para> 
    <para>
	 <figure>
       <title>Προτιμήσεις εκτύπωσης</title>
       <screenshot>
	   <screeninfo>Προτιμήσεις εκτύπωσης</screeninfo>
        <graphic fileref="figures/prefs_print.png" format="PNG" srccredit="jhs"/>
       </screenshot>
     </figure>
	</para>
	<para>Όταν είστε έτοιμοι να εκτυπώσετε και σας ικανοποιεί η προεπισκόπηση, επιλέξτε <menuchoice><guisubmenu>Αρχείο</guisubmenu><guimenuitem>Εκτύπωση</guimenuitem></menuchoice> από τη γραμμή μενού ή <guibutton>Εκτύπωση</guibutton> από το παράθυρο της προεπισκόπησης. Θα εμφανιστεί ο διάλογος εκτύπωσης που βλέπετε παρακάτω. Επιλέξτε τις κατάλληλες παραμέτρους για την εκτύπωση και πατήστε <guibutton>Εκτύπωση</guibutton> για να εκτυπώσετε το αρχείο.</para>
	<para>Μπορείτε, επίσης, να επιλέξετε διάταξη τοπίου ή πορτρέτου, μέγεθος χαρτιού, προσανατολισμό σελίδας και τύπο χαρτιού. Επιλέξτε τις κατάλληλες ρυθμίσεις για τον εκτυπωτή σας, διαφορετικά μπορεί να μην αποκτήσετε το επιθυμητό αποτέλεσμα.</para>
	<para>
	 <figure>
       <title>Διάλογος Εκτύπωσης</title>
       <screenshot>
	   <screeninfo>Διάλογος Εκτύπωσης</screeninfo>
        <graphic fileref="figures/print_dlg.png" format="PNG" srccredit="jhs"/>
       </screenshot>
     </figure>
	</para>
   </sect1>
 </chapter>


 <!-- Project Management -->
 <!-- ============= Project management ====================== -->
 <chapter id="project-management">
  <title>Διαχείριση έργου</title>
  
  <para>Η εφαρμογή Anjuta διαθέτει ένα ισχυρό πρόσθετο για τη Διαχείριση έργου που μπορεί να ανοίξει τα περισσότερα έργα που βασίζονται σε <ulink type="info" url="info:automake">automake/autoconf</ulink>. Μπορεί να αποτύχει σε μερικά έργα που έχουν μη-τυπικές ρυθμίσεις, αλλά εφόσον το έργο χρησιμοποιεί τα automake/autoconf με τον τυπικό τρόπο, θα πρέπει να δουλέψει χωρίς πρόβλημα.</para>

  <para>Το καλό είναι ότι το Anjuta δεν αποθηκεύει πληροφορίες για το έργο, πέρα από τις πληροφορίες που περιλαμβάνονται στη δομή του αρχείου. Δηλαδή, το Anjuta δεν συντηρεί ξεχωριστά δεδομένα έργου και, άρα, όλη η επεξεργασία του έργου γίνεται απευθείας εντός της δομής του έργου. Αυτό σας επιτρέπει να συνεχίζετε τη συντήρηση και ανάπτυξη του έργου εκτός Anjuta, χωρίς να χρειάζεται να μετατρέπετε ειδικά αρχεία έργου. Επειδή τα έργα του Anjuta ουσιαστικά είναι έργα automake, είναι εύκολο να γίνεται ανάπτυξη από κοινού (τόσο από χρήστες όσο και από μη χρήστες του Anjuta), ή εναλλαγές μεταξύ Anjuta και άλλων εργαλείων.</para>

  <sect1 id="new-project">
   <title>Δημιουργία νέου έργου</title>
   <sect2 id="new-project-from-template">
   <title>Δημιουργία έργου από πρότυπο</title>
   <para>Το πρόσθετο Οδηγός δημιουργίας έργων χρησιμοποιεί μια ισχυρή μηχανή επεξεργασίας προτύπων, το <application>autogen</application>. Όλα τα νέα έργα που δημιουργούνται με βάση πρότυπα χρησιμοποιούν τη σύνταξη του <application>autogen</application>. Ο οδηγός δημιουργίας έργων σας επιτρέπει να δημιουργείτε νέα έργα από μία ποικιλία προτύπων έργων. Οι επιλογές σας περιλαμβάνουν έργα απλής γενικής μορφής, επίπεδα έργα (χωρίς υποκαταλόγους), έργα GTK+, GNOME, Java, Python και πολλά άλλα. Η λήψη και εγκατάσταση νέων προτύπων είναι εύκολη διαδικασία, καθώς τα πρότυπα δεν είναι παρά ομάδες αρχείων κειμένου.</para>

   <para>Για να δημιουργήσετε ένα έργο, επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Αρχείο</guisubmenu><guisubmenu>Νέο</guisubmenu><guimenuitem>Έργο...</guimenuitem></menuchoice>, για να εκκινήσετε τον οδηγό. Διαβάστε προσεκτικά την πρώτη σελίδα. Πατήστε <guibutton>Επόμενο</guibutton> για να συνεχίσετε.</para>
   <para>Στη δεύτερη σελίδα επιλέξτε τον τύπο εφαρμογής που θέλετε να δημιουργήσετε. Πατήστε <guibutton>Επόμενο</guibutton> για να συνεχίσετε.</para>

   <para>Στις επόμενες σελίδες εισάγετε όλες τις απαραίτητες λεπτομέρειες για το έργο σας. Μπορείτε να αλλάξετε αυτές τις ρυθμίσεις αργότερα, αλλά καλό είναι να τις ρυθμίσετε σωστά από την αρχή για να μη διακινδυνεύσετε τη συνοχή του έργου. Σε πολλά από τα πεδία κειμένου που ακολουθούν δεν επιτρέπεται η χρήση κενών ή μη αλφαριθμητικών χαρακτήρων, με την εξαίρεση της υπογράμμισης (_) και της παύλας (-) (εκτός ίσως από το πεδίο <guilabel>Συγγραφέας</guilabel>).</para>

   <para>Μπορείτε, επίσης, να καθορίσετε αν το έργο σας θα διαθέτει <emphasis>υποστήριξη διεθνοποίησης</emphasis> μέσω του <application>gettext</application> (δείτε τη <ulink type="info" url="info:gettext">σελίδα πληροφοριών του gettext</ulink> για περισσότερες λεπτομέρειες). Αυτό επιτρέπει στο έργο σας να προσφέρει πολύγλωσση υποστήριξη σε διάφορες γλώσσες (π.χ. Αγγλικά, Ελληνικά, Ολλανδικά). Οι υπόλοιπες επιλογές αφορούν το αν η δήλωση πνευματικών δικαιωμάτων GNU θα εμφανίζεται στα σχόλια στην αρχή κάθε αρχείου και το αν θα συμπεριληφθούν πληροφορίες για τα μενού της επιφάνειας εργασίας GNOME. Η υποστήριξη κοινόχρηστων βιβλιοθηκών σας επιτρέπει να προσθέσετε αρθρώματα κοινόχρηστων βιβλιοθηκών αργότερα. Αν σκοπεύετε να συμπεριλάβετε βιβλιοθήκες στο έργο σας, καλό θα ήταν να σημειώσετε αυτή την επιλογή. Ανάλογα με τον τύπο του έργου, το Anjuta μπορεί να σας ζητήσει και άλλες πληροφορίες.</para>

   <para>Το τελικό βήμα είναι η επαλήθευση των πληροφοριών που παρείχατε. Πατήστε <guibutton>Τέλος</guibutton> για να ξεκινήσει η δημιουργία του έργου.</para>

   <para>Από τη στιγμή που θα δημιουργηθεί το έργο, μπορείτε να το δοκιμάσετε, μεταγλωττίζοντας και εκτελώντας το αποτέλεσμα.</para>
  </sect2>
   <sect2 id="importing-project">
    <title>Εισαγωγή έργων</title>
    <para>Η λειτουργία εισαγωγής έργου χρησιμοποιείται για την εισαγωγή ενός υπάρχοντος έργου και τη μετατροπή του σε έργο του <application>Anjuta</application>. Ανοίξτε τον οδηγό εισαγωγής έργου επιλέγοντας <menuchoice><guimenu>Αρχείο</guimenu><guimenu>Νέο</guimenu><guimenuitem>Έργο από υπάρχουσες πηγές</guimenuitem></menuchoice> και ακολουθήστε τις οδηγίες. Αφού ολοκληρωθεί η εισαγωγή του έργου, θα μπορείτε να το ανοίγετε στο <application>Anjuta</application> ακριβώς όπως και οποιοδήποτε άλλο έργο του <application>Anjuta</application>.</para>
	<note>
	<para>Η λειτουργία εισαγωγής έργου λειτουργεί μόνο αν το υπάρχον έργο χρησιμοποιεί τα <ulink type="info" url="info:automake">autoconf/automake</ulink> ή, σε ελάχιστες περιπτώσεις, ένα απλό Makefile.</para>
	</note>
   </sect2>
  </sect1>
  
  <sect1 id="load-save-projects">
   <title>Φόρτωση και αποθήκευση έργων</title>
   <sect2 id="loading-project">
    <title>Φόρτωση έργων</title>
    <para>Για να ανοίξετε ένα έργο, επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Αρχείο</guisubmenu><guimenuitem>Άνοιγμα ...</guimenuitem></menuchoice>. Επιλέξτε το αρχείο του έργου (<filename>*.anjuta</filename>) από το διάλογο και πατήστε <guibutton>Εντάξει</guibutton>.</para> 

    <para>Αν το έργο είχε ανοιχθεί πρόσφατα, θα το βρείτε στο μενού <menuchoice><guisubmenu>Αρχείο</guisubmenu><guisubmenu>Πρόσφατα</guisubmenu></menuchoice>. Επιλέξτε το όνομα αρχείου του έργου από τη λίστα για να το ανοίξετε.</para>
    <para>Μόλις ανοίξει ένα έργο, η εφαρμογή <application>Anjuta</application> μπαίνει σε <emphasis>Κατάσταση έργου</emphasis>. Υπάρχουν τρία πλαίσια στο παράθυρο έργου. Το πρώτο είναι το πλαίσιο έργου και παραθέτει τα αρχεία του έργου ταξινομημένα ανά τύπο αρχείου. Το δεύτερο είναι ο περιηγητής συμβόλων, που έχουμε ήδη περιγράψει στην ενότητα <emphasis>Ο περιηγητής συμβόλων</emphasis>. Το τρίτο είναι η προβολή αρχείων του έργου και αποτελεί ένα μικρό διαχειριστή αρχείων. Στην προβολή αρχείων, όλα τα αρχεία του έργου εμφανίζονται στο δέντρο του έργου. Με δεξί κλικ στα αρχεία αναδύεται ένα σχετικό μενού με διαθέσιμες λειτουργίες αρχείων.</para>
    <para>Αν το έργο αποτελεί επίσης και δέντρο CVS, τότε οι αντίστοιχοι αριθμοί αναθεώρησης αρχείου εμφανίζονται στα δεξιά των ονομάτων αρχείων στο πλαίσιο προβολής αρχείων.</para>
   </sect2>
   <sect2 id="saving-project">
    <title>Αποθήκευση έργων</title>
    <para>Το έργο αποθηκεύεται αυτόματα όταν κλείνετε την εφαρμογή, διότι όλες οι αλλαγές γίνονται απευθείας στη δομή του έργου.</para>
   </sect2>
  </sect1>

  <sect1 id="projects-structure">
  <title>Δομή έργου</title>
  <para>Παρακάτω βλέπετε το <interface>Παράθυρο έργου</interface> και το σχετικό μενού του (εμφανίζεται με δεξί κλικ). <figure id="project-window">
    <title>Παράθυρο έργου</title>
    <screenshot>
     <screeninfo>Το παράθυρο έργου</screeninfo>
     <graphic fileref="figures/project-window.png" format="PNG" srccredit="jhs"/>
    </screenshot>
   </figure></para>
  <para>Το <interface>Παράθυρο έργου</interface> εμφανίζει την ιεραρχία <ulink type="info" url="info:automake"><application>automake</application></ulink> του έργου, ταξινομημένη σε <emphasis>ομάδες</emphasis> <emphasis>στόχων</emphasis>. Οι ομάδες αντιστοιχούν στους καταλόγους του έργου και οι στόχοι στους κλασικούς στόχους <application>automake</application> (μην τους συγχέετε με τους στόχους make). Το <interface>Παράθυρο έργου</interface> περιλαμβάνει δύο μέρη: στο κάτω μέρος φαίνεται το σύνολο της ιεραρχίας του έργου και στο κάτω μέρος καταγράφονται απευθείας ορισμένοι σημαντικοί στόχοι. Οι σημαντικοί στόχοι συμπεριλαμβάνουν τα εκτελέσιμα αρχεία και τις βιβλιοθήκες· χάρη σε αυτήν την προβολή, διευκολύνεται η πρόσβαση σε αυτούς. Η προβολή αυτή είναι ιδιαίτερα χρήσιμη σε μεγάλα έργα με πολύπλοκη ιεραρχία, όπου η πλοήγηση με βάση το δέντρο μπορεί να αποδειχθεί ιδιαίτερα δύσκολη. Οι στόχοι, με τη σειρά τους, αποτελούνται από πηγαία αρχεία.</para>

  <para>
  <itemizedlist>
   <listitem>
    <para>Οι <emphasis>ομάδες</emphasis> χρησιμοποιούνται για τη λογική οργάνωση των στόχων. Ένα έργο μπορεί να περιέχει απεριόριστο αριθμό ομάδων. Κάθε ομάδα μπορεί να περιέχει υποομάδες και στόχους. Στα έργα automake, οι ομάδες απλά αντιστοιχούν στους υποκαταλόγους του έργου. Η ομάδα στο ανώτατο επίπεδο ονομάζεται πάντα "/".</para>
   </listitem>
   <listitem>
    <para>Οι <emphasis>στόχοι</emphasis> είναι οι στόχοι κατασκευής του έργου, δηλαδή προγράμματα (εκτελέσιμα αρχεία), σενάρια, βιβλιοθήκες και διάφορα δεδομένα. Δεν κατασκευάζονται όλοι οι τύποι στόχων από τον πηγαίο κώδικα· ο σκοπός ορισμένων είναι απλά η οργάνωση των πηγών, και άρα δεν είναι απαραίτητο να διαθέτουν φυσική υπόσταση (π.χ. ένας στόχος Διαφόρων δεδομένων). Οι στόχοι εμπεριέχονται στις ομάδες. Δείτε την <link linkend="adding-target">"Προσθήκη στόχων"</link> για τον πλήρη κατάλογο των διαθέσιμων τύπων στόχων.</para>
   </listitem>
   <listitem>
    <para>Τα <emphasis>πηγαία αρχεία</emphasis> μπορούν να χρησιμοποιηθούν για την κατασκευή στόχων, αν και ορισμένα πηγαία αρχεία απλά ανήκουν σε στόχους. Υφίστανται μόνο υπό των στόχων. Πολλοί τύποι στόχων προϋποθέτουν συγκεκριμένους τύπους πηγαίων αρχείων (π.χ. οι στόχοι που αντιστοιχούν στα προγράμματα και τις βιβλιοθήκες), αλλά ορισμένοι δέχονται όλα τα αρχεία (π.χ. οι στόχοι Διαφόρων δεδομένων).</para>
   </listitem>
  </itemizedlist>
  </para>

  <para>Οι ομάδες και οι στόχοι των έργων μπορούν να ρυθμιστούν με την κλασική διαδικασία του <application>automake</application>. Μπορείτε να ορίσετε σημαίες μεταγλωττιστή και συνδέτη απευθείας για κάθε στόχο, ή να ορίσετε παραμέτρους <application>configure</application>. Οι ομάδες σας επιτρέπουν να ορίζετε τον προορισμό εγκατάστασης των στόχων τους.</para>

  <para>Ακριβώς όπως και ο διαχειριστής αρχείων, η προβολή του διαχειριστή έργου παρέχει ορισμένες διευκολύνσεις (πρόσβαση από το σχετικό μενού) για τη διαχείριση των πηγαίων αρχείων και των στόχων.</para>

  <para>Διατίθενται πολλά εργαλεία της γραμμής εντολών για τη συντήρηση και διαχείριση ενός έργου, και κάθε εργαλείο διαθέτει τους δικούς του κανόνες και δυνατότητες. Το <application>Anjuta</application> προσπαθεί να αυτοματοποιεί τις πιο κοινές ενέργειες μέσω της χρήσης προσθέτων. Ωστόσο, σε ορισμένες περιπτώσεις θα πρέπει να κάνετε τις ενέργειες αυτές με μη αυτόματο τρόπο.</para>
  
  <para>Μπορείτε να τροποποιείτε τη δομή του έργου χρησιμοποιώντας εξωτερικά εργαλεία ή επεξεργαζόμενοι με το χέρι τα αρχεία του έργου. Δεν έχει σημασία αν το έργο είναι φορτωμένο στο <application>Anjuta</application>, καθώς το <application>Anjuta</application> θα ενημερωθεί αυτόματα αν γίνουν εξωτερικές αλλαγές στο έργο.</para>
  </sect1>
 
  <sect1 id="groups-and-targets">
   <title>Ομάδες και στόχοι</title>

   <sect2 id="adding-groups">
    <title>Προσθήκη ομάδων</title>
    <para>Για να προσθέσετε μια ομάδα (δηλαδή ένα κατάλογο, σε έργα που βασίζονται στο automake): <itemizedlist>
         <listitem>
           <para>Επιλέξτε <menuchoice><guisubmenu>Έργο</guisubmenu><guimenuitem>Προσθήκη ομάδας</guimenuitem></menuchoice> και θα εμφανιστεί ο διάλογος για την προσθήκη νέας ομάδας.</para>
         </listitem>
         <listitem>
           <para>Επιλέξτε την ομάδα στην οποία θα ανήκει η νέα ομάδα.</para>
         </listitem>
         <listitem>
            <para>Εισάγετε το όνομα της νέας ομάδας και πατήστε <guibutton>Προσθήκη</guibutton>.</para>
         </listitem>
        </itemizedlist></para>
     <para>Στα έργα automake, δημιουργείται ένας νέος κατάλογος, με το επιλεγμένο όνομα, εντός του καταλόγου της γονικής ομάδας.</para>
    <para>Μπορείτε να προσθέσετε μια νέα ομάδα και απευθείας από το παράθυρο του <interface>Έργου</interface>. Κάντε δεξί κλικ στην ομάδα στην οποία θέλετε να προσθέσετε νέα ομάδα και επιλέξτε <guimenuitem>Προσθήκη ομάδας</guimenuitem> από το σχετικό μενού.</para>
   </sect2>

   <sect2 id="removing-group">
    <title>Αφαίρεση ομάδων</title>
    <para>Για να αφαιρέσετε μια ομάδα: <itemizedlist>
     <listitem>
       <para>Κάντε δεξί κλικ στην ομάδα μέσα στην προβολή <interface>Διαχειριστής έργου</interface>.</para>
     </listitem>
     <listitem>
       <para>Επιλέξτε <guimenuitem>Αφαίρεση</guimenuitem> από το σχετικό αναδυόμενο μενού.</para>
     </listitem>
    </itemizedlist></para>
    <para>Ο στόχος και οι πηγές αυτής της ομάδας θα αφαιρεθούν και αυτοί από το έργο. (Αλλά δεν θα διαγραφούν από το σύστημα αρχείων. Αργότερα, μπορείτε να τους προσθέσετε ξανά στο έργο.)</para>
   </sect2>

   <sect2 id="adding-target">
    <title>Προσθήκη στόχων</title>
    <para>Για να προσθέσετε ένα νέο στόχο: <itemizedlist>
      <listitem>
       <para>Επιλέξτε <menuchoice><guisubmenu>Έργο</guisubmenu><guimenuitem>Προσθήκη στόχου</guimenuitem></menuchoice> και θα εμφανιστεί ο διάλογος για την προσθήκη νέου στόχου.</para>
     </listitem>
     <listitem>
      <para>Επιλέξτε την ομάδα στην οποία θα ανήκει ο νέος στόχος.</para>
     </listitem>
     <listitem>
      <para>Επιλέξτε το είδος του στόχου.</para>
     </listitem>
     <listitem>
      <para>Εισάγετε το όνομα του νέου στόχου και πατήστε <guibutton>Προσθήκη</guibutton>.</para>
     </listitem>
    </itemizedlist></para>
    <para>Μπορείτε να προσθέσετε ένα νέο στόχο και απευθείας από το παράθυρο του <interface>Έργου</interface>. Κάντε δεξί κλικ στην ομάδα στην οποία θέλετε να προσθέσετε το νέο στόχο και επιλέξτε <guimenuitem>Προσθήκη στόχου</guimenuitem> από το σχετικό μενού.</para>
    <para>Συνήθως, τα ονόματα των στόχων πρέπει να διαθέτουν συγκεκριμένα προθέματα και επεκτάσεις, ανάλογα με τον τύπο του στόχου. Το Anjuta θα σας προειδοποιήσει αν το όνομα που επιλέξατε δεν είναι έγκυρο και ίσως να σας δείξει ένα παράδειγμα έγκυρου ονόματος.</para>
    <para>Υπάρχουν διάφοροι τύποι στόχων για τα έργα automake: <itemizedlist>
     <listitem>
      <para>Ο τύπος <emphasis>Πρόγραμμα</emphasis> αφορά τα εκτελέσιμα αρχεία. Επιλέξτε αυτόν τον τύπο αν επιθυμείτε να προσθέσετε ένα εκτελέσιμο στο έργο. Η προεπιλογή για τους στόχους προγράμματος είναι να εγκαθίστανται στο συνήθη κατάλογο εκτελέσιμων, π.χ. στο /usr/bin ή το /usr/local/bin. Μπορείτε να αλλάξετε τον κατάλογο, επιλέγοντας διαφορετικό κατάλογο εγκατάστασης από τις ιδιότητες της ομάδας στην οποία ανήκει ο στόχος.</para>
     </listitem>
     <listitem>
      <para>Ο τύπος <emphasis>Κοινόχρηστη βιβλιοθήκη</emphasis> αφορά τις κοινόχρηστες η δυναμικές βιβλιοθήκες. Επιλέξτε αυτόν τον τύπο για να προσθέσετε μια κοινόχρηστη βιβλιοθήκη στο έργο.  Η προεπιλογή για τις κοινόχρηστες βιβλιοθήκες είναι να εγκαθίστανται στο συνήθη κατάλογο βιβλιοθηκών, π.χ. στο /usr/lib ή το /usr/local/lib. Μπορείτε να αλλάξετε τον κατάλογο, επιλέγοντας διαφορετικό κατάλογο εγκατάστασης από τις ιδιότητες της ομάδας στην οποία ανήκει ο στόχος.</para>
     </listitem>
     <listitem>
      <para>Ο τύπος <emphasis>Στατική βιβλιοθήκη</emphasis> αφορά τις στατικές βιβλιοθήκες. Επιλέξτε αυτόν τον τύπο για να προσθέσετε μια στατική βιβλιοθήκη στο έργο.  Η προεπιλογή για τις στατικές βιβλιοθήκες είναι να εγκαθίστανται στο συνήθη κατάλογο βιβλιοθηκών, π.χ. στο /usr/lib ή το /usr/local/lib. Μπορείτε να αλλάξετε τον κατάλογο, επιλέγοντας διαφορετικό κατάλογο εγκατάστασης από τις ιδιότητες της ομάδας στην οποία ανήκει ο στόχος.</para>
     </listitem>
     <listitem>
      <para>Ο τύπος <emphasis>Άρθρωμα Java</emphasis> αφορά τα αρθρώματα (modules) Java. Επιλέξτε αυτόν τον τύπο αν θέλετε να ομαδοποιήσετε πηγές Java σε ένα άρθρωμα. Θα χρειαστεί να προσδιορίσετε τον κατάλογο εγκατάστασης αυτού του στόχου (στον οποίο θα εγκατασταθούν τα αρχεία .class). Μπορείτε να ορίσετε τον κατάλογο από τις ιδιότητες της ομάδας στην οποία ανήκει ο στόχος.</para>
      <note>
       <para>Ουσιαστικά, επιτρέπεται μόνο ένα άρθρωμα Java ανά ομάδα. Πρόκειται για έναν περιορισμό του automake. Ανατρέξτε στη σελίδα info του automake για περισσότερες λεπτομέρειες.</para>
      </note>
     </listitem>
     <listitem>
      <para>Ο τύπος <emphasis>Άρθρωμα Python</emphasis> αφορά τα αρθρώματα (modules) Python. Επιλέξτε αυτόν τον τύπο αν θέλετε να ομαδοποιήσετε πηγές Python σε ένα άρθρωμα. Θα χρειαστεί να προσδιορίσετε τον κατάλογο εγκατάστασης αυτού του στόχου (στον οποίο θα εγκατασταθούν οι πηγές). Μπορείτε να ορίσετε τον κατάλογο από τις ιδιότητες της ομάδας στην οποία ανήκει ο στόχος.</para>
     </listitem>
     <listitem>
      <para>Ο τύπος <emphasis>Σενάρια</emphasis> χρησιμεύει για την ομαδοποίηση σεναρίων. Τα σενάρια εγκαθίστανται στον συνήθη κατάλογο εκτελέσιμων.</para>
     </listitem>
     <listitem>
      <para>Ο τύπος <emphasis>Διάφορα δεδομένα</emphasis> χρησιμεύει για την ομαδοποίηση απλών αρχείων ενός έργου. Θα χρειαστεί να προσδιορίσετε τον κατάλογο εγκατάστασης αυτού του στόχου από τις ιδιότητες της ομάδας.</para>
     </listitem>
     <listitem>
      <para>Ο τύπος <emphasis>Αρχεία κεφαλίδων</emphasis> χρησιμεύει για την ομαδοποίηση αρχείων κεφαλίδων C/C++ που πρέπει να εγκατασταθούν σε ένα σύστημα (π.χ. ως τμήμα ενός API βιβλιοθήκης). (Αν τα αρχεία κεφαλίδων δεν χρειάζεται να εγκατασταθούν, συμπεριλάβετέ τα στο στόχο Πρόγραμμα μαζί με τις πηγές.) Τα αρχεία κεφαλίδων θα εγκατασταθούν στο συνήθη κατάλογο συμπεριλαμβανομένων, εκτός αν ορίσετε διαφορετική διαδρομή εγκατάστασης από τις ιδιότητες της ομάδας.</para>
     </listitem>
     <listitem>
      <para>Οι τύποι <emphasis>Τεκμηρίωση man</emphasis> και <emphasis>Τεκμηρίωση info</emphasis> χρησιμεύει για την ομαδοποίηση της τεκμηρίωσης man και info, αντίστοιχα. Η προεπιλογή για τους στόχους προγράμματος είναι να εγκαθίστανται στους συνήθεις καταλόγους εγκατάστασης.</para>
     </listitem>
    </itemizedlist></para>
   </sect2>
   <sect2 id="removing-target">
    <title>Αφαίρεση στόχων</title>
    <para>Για να αφαιρέσετε ένα στόχο: <itemizedlist>
       <listitem>
        <para>Κάντε δεξί κλικ στην ομάδα μέσα στην προβολή <interface>Διαχειριστής έργου</interface>.</para>
       </listitem>
       <listitem>
        <para>Επιλέξτε <guimenuitem>Αφαίρεση</guimenuitem> από το σχετικό αναδυόμενο μενού.</para>
       </listitem>
      </itemizedlist></para>
    <para>Οι πηγές αυτού του στόχου θα αφαιρεθούν και αυτές από το έργο. (Αλλά δεν θα διαγραφούν από το σύστημα αρχείων.)</para>
   </sect2>
  </sect1>

  <sect1 id="adding-removing-sources">
   <title>Προσθήκη και αφαίρεση αρχείων</title>
   <sect2 id="adding-sources">
    <title>Προσθήκη αρχείων πηγαίου κώδικα</title>
    <para>Επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Έργο</guisubmenu><guimenuitem>Προσθήκη αρχείου πηγαίου κώδικα</guimenuitem></menuchoice>. Από το διάλογο που εμφανίζεται, επιλέξτε το στόχο στον οποίο πρέπει να προστεθεί το αρχείο, καθώς και το ίδιο το αρχείο. Μπορείτε να προσθέτετε πολλαπλά αρχεία ταυτόχρονα, αν επιλέξετε πολλαπλά αρχεία από το διάλογο επιλογής αρχείων, χρησιμοποιώντας τα πλήκτρα <keycap>Shift</keycap> ή <keycap>Ctrl</keycap>. Τέλος, πατήστε <guibutton>Προσθήκη</guibutton> για να προσθέσετε τα αρχεία στο έργο.</para>
    <para>Το τρέχον αρχείο του επεξεργαστή εμφανίζεται προεπιλεγμένο στο διάλογο προσθήκης αρχείου. Ένας άλλος εύκολος τρόπος για την προσθήκη ενός αρχείου είναι να κάνετε δεξί κλικ στο αρχείο από το <interface>Διαχειριστή αρχείων</interface> και να επιλέξετε <guimenuitem>Προσθήκη στο έργο</guimenuitem>.</para>
    <para>Αν το αρχείο που επιλέξατε έχει ήδη προστεθεί στο έργο, τότε το <application>Anjuta</application> δεν θα το προσθέσει ξανά, αλλά θα εμφανίσει σχετική προειδοποίηση.</para>
    <para>Αν το αρχείο που επιλέξατε δεν βρίσκεται στον κατάλογο του έργου, θα σας ζητηθεί να επιβεβαιώσετε ότι επιθυμείτε την αντιγραφή του αρχείου στον κατάλογο του στόχου. Το <application>Anjuta</application> δεν μπορεί να προσθέτει αρχεία που βρίσκονται εκτός του καταλόγου του στόχου χωρίς να τα αντιγράφει στον κατάλογο του στόχου.</para>
   </sect2>
   <sect2 id="removing-sources">
    <title>Αφαίρεση αρχείων πηγαίου κώδικα</title>
    <para>Για να αφαιρέσετε ένα αρχείο από το έργο, κάντε δεξί κλικ στο αρχείο από το <interface>Παράθυρο έργου</interface>, και επιλέξτε <guimenuitem>Αφαίρεση</guimenuitem> από το σχετικό μενού.</para>
    <para>Θα εμφανιστεί ένας διάλογος επιβεβαίωσης, και το αρχείο θα αφαιρεθεί από το έργο.</para>
    <important>
     <title>Το αρχείο δεν διαγράφεται!</title>
     <para>Το αρχείο δεν διαγράφεται από το σύστημα αρχείων. Παραμένει στη θέση του. Αργότερα, μπορείτε να το προσθέσετε ξανά στο έργο. Το αρχείο απλά αφαιρείται από τον κατάλογο αρχείων του έργου και δεν συμπεριλαμβάνεται σε διαδικασίες όπως η μεταγλώττιση, κατασκευή και διανομή του έργου.</para>
     </important>
   </sect2>
  </sect1>
  
  <sect1 id="project-config">
   <title>Ρύθμιση έργου</title>
   <para>Η ρύθμιση του έργου περιλαμβάνει τον ορισμό των σωστών σημαιών κατασκευής για τους στόχους, τις ομάδες και το ίδιο το έργο. Μπορείτε να ορίσετε τις σημαίες από τους κατάλληλους διαλόγους ιδιοτήτων.</para>

   <para>Μπορείτε να χρησιμοποιείτε τις μεταβλητές των autoconf και automake που ορίζονται αυτόματα για το έργο κατά τη ρύθμιση. Πέρα από αυτές τις μεταβλητές που ορίζονται αυτόματα, μπορείτε να ορίσετε και τις δικές σας μεταβλητές στις <link linkend="project-properties">Ιδιότητες έργου</link> και να τις χρησιμοποιήσετε στις ιδιότητες. Αυτό θα διευκολύνει τη μελλοντική ενημέρωση των σημαιών, ειδικά αν μια μεταβλητή χρησιμοποιείται από διάφορους στόχους.</para>

   <para>Ορισμένες από τις πιο κοινές μεταβλητές αναφέρονται παρακάτω. Για έναν πλήρη κατάλογο, δείτε την <ulink url="info:automake">τεκμηρίωση info του automake</ulink>. <itemizedlist>
      <listitem>
       <para><emphasis>$(prefix)</emphasis>: Το πρόθεμα εγκατάστασης. Το έργο εγκαθίσταται σε διάφορους υποκαταλόγους υπό αυτό το πρόθεμα. Η προεπιλογή είναι το /usr/local.</para>
      </listitem>
      <listitem>
       <para><emphasis>$(bindir)</emphasis>: Ο κατάλογος εγκατάστασης για εκτελέσιμα αρχεία. Όλοι οι στόχοι για εκτελέσιμα αρχεία και σενάρια εγκαθίστανται σε αυτόν τον κατάλογο. Η προεπιλογή είναι $(prefix)/bin.</para>
      </listitem>
      <listitem>
       <para><emphasis>$(libdir)</emphasis>:  Ο κατάλογος εγκατάστασης για βιβλιοθήκες. Όλοι οι στόχοι για βιβλιοθήκες (δυναμικές και στατικές) εγκαθίστανται σε αυτόν τον κατάλογο ή σε υποκαταλόγους του. Η προεπιλογή είναι $(prefix)/lib.</para>
      </listitem>
      <listitem>
       <para><emphasis>$(module_CFLAGS)</emphasis> και $(module_LIBS): Το <application>configure</application> ορίζει αυτές τις σημαίες για τα πακέτα από τα οποία εξαρτάται το έργο σας. Τα πακέτα που χρησιμοποιεί το έργο ορίζονται στις <link linkend="project-properties">Ιδιότητες έργου</link>. Το 'module' είναι μια ομάδα πακέτων που ορίζεται στις ιδιότητες έργου, όπως περιγράφεται παρακάτω.</para>
      </listitem>
     </itemizedlist></para>


   <sect2 id="project-properties">
    <title>Ιδιότητες έργου</title>
    <para>Μπορείτε να ανοίξετε το διάλογο ιδιοτήτων έργου μόνο από τη γραμμή μενού, επιλέγοντας <menuchoice><guisubmenu>Έργο</guisubmenu><guimenuitem>Ιδιότητες</guimenuitem></menuchoice>. Από το διάλογο αυτό μπορείτε να: <itemizedlist>
     <listitem>
      <para>Ορίσετε το όνομα, την έκδοση και το URL του έργου από τη σελίδα <guibutton>Γενικά</guibutton>. Στα πεδία αυτά μπορούν να χρησιμοποιηθούν και μεταβλητές <application>configure</application>. Το URL είναι το URL όπου πρέπει να γίνονται οι αναφορές σφαλμάτων για το έργο.</para>
     </listitem>
     <listitem>
      <para>Προσθέσετε και να αφαιρέσετε εξαρτήσεις του έργου σας από τη σελίδα <guibutton>Πακέτα</guibutton>. Δείτε παρακάτω για περισσότερες λεπτομέρειες.</para>
     </listitem>
     <listitem>
      <para>Δημιουργήσετε και άλλες μεταβλητές configure από τη σελίδα <guibutton>Μεταβλητές</guibutton> και να τις χρησιμοποιήσετε για τις ιδιότητες των ομάδων και στόχων.</para>
     </listitem>
    </itemizedlist></para>
    <para>Οι εξαρτήσεις είναι εξωτερικά πακέτα που χρησιμοποιεί το έργο και που, επομένως, είναι απαραίτητα για την κατασκευή του. Από αυτή τη διεπαφή μπορείτε να προσθέτετε μόνο πακέτα που έχουν εγκατασταθεί με το <ulink url="info:pkg-config">pkg-config</ulink>. Για άλλα πακέτα θα πρέπει να επεξεργαστείτε με το χέρι το αρχείο configure.ac. <figure>
       <title>Διάλογος ιδιοτήτων έργου</title>
       <screenshot>
	   <screeninfo>Διάλογος ιδιοτήτων έργου</screeninfo>
        <graphic fileref="figures/project_info.png" format="PNG" srccredit="jhs"/>
       </screenshot>
     </figure></para>
   <para>Οι εξαρτήσεις από εξωτερικά πακέτα ομαδοποιούνται σε <emphasis>αρθρώματα</emphasis>, έτσι ώστε οι συνολικές σημαίες κατασκευής τους να μπορούν να προστεθούν με ευκολία σε διάφορους στόχους. Τα <emphasis>αρθρώματα</emphasis> (modules) είναι απλά ομάδες πακέτων και μπορούν να έχουν οποιοδήποτε όνομα (αν και επιτρέπονται μόνο αλφαριθμητικοί χαρακτήρες και _). Συνήθως, υιοθετούν το όνομα των στόχων από τους οποίους θα χρησιμοποιηθούν. Άρα, για μικρά έργα με μεμονωμένους στόχους, αρκεί ένα άρθρωμα για όλες τις εξαρτήσεις.</para>
   <para>Κάθε πακέτο εξάγει μια ομάδα <emphasis>σημαιών μεταγλωττιστή</emphasis> και <emphasis>βιβλιοθηκών</emphasis>. Οι εξαγόμενες σημαίες και βιβλιοθήκες όλων των πακέτων ομαδοποιούνται σε ένα άρθρωμα, για το οποίο ορίζονται οι μεταβλητές <application>configure</application> <emphasis>$(module_CFLAGS)</emphasis> και <emphasis>$(module_LIBS)</emphasis>. Στη συνέχεια, οι μεταβλητές αυτές μπορούν να χρησιμοποιηθούν από τις <link linkend="group-properties">Ιδιότητες ομάδας</link> και τις <link linkend="target-properties">Ιδιότητες στόχου</link>.</para>
   <para>Για να προσθέσετε μια εξάρτηση πακέτου: <itemizedlist>
     <listitem>
      <para>Επιλέξτε <menuchoice><guisubmenu>Έργο</guisubmenu><guimenuitem>Ιδιότητες</guimenuitem></menuchoice> για να εμφανίσετε το διάλογο ιδιοτήτων έργου.</para>
     </listitem>
     <listitem>
      <para>Επιλέξτε την καρτέλα <guibutton>Πακέτα</guibutton> για να εμφανίσετε τη σελίδα Πακέτα.</para>
     </listitem>
     <listitem>
      <para>Επιλέξτε το <emphasis>άρθρωμα</emphasis> στο οποίο θα προστεθεί το πακέτο. Αν δεν έχει δημιουργηθεί κανένα άρθρωμα, ή αν δεν υπάρχει το κατάλληλο άρθρωμα, δημιουργήστε νέο άρθρωμα με κλικ στο <guibutton>Προσθήκη αρθρώματος</guibutton>. Δώστε ένα λογικό όνομα στο άρθρωμα, κατά προτίμηση με ΚΕΦΑΛΑΙΑ για να ταιριάζει με τις υπόλοιπες μεταβλητές <application>configure</application> (επιτρέπονται μόνο οι αλφαριθμητικοί χαρακτήρες και το _) και πατήστε <keycap>Enter</keycap> για να το δημιουργήσετε.</para>
     </listitem>
     <listitem>
      <para>Πατήστε <guibutton>Προσθήκη πακέτου</guibutton> για να εμφανίσετε το διάλογο επιλογής πακέτου.</para>
     </listitem>
     <listitem>
      <para>Επιλέξτε το πακέτο που επιθυμείτε να προσθέσετε και πατήστε <guibutton>Προσθήκη</guibutton>.</para>
     </listitem>
     <listitem>
      <para>Πατήστε <guibutton>Κλείσιμο</guibutton> για να κλείσετε το διάλογο ιδιοτήτων.</para>
     </listitem>
    </itemizedlist></para>
   </sect2>

   <sect2 id="group-properties">
    <title>Ιδιότητες ομάδας</title>
    <para>Για να επεξεργαστείτε τις ιδιότητες μιας ομάδας, κάντε διπλό κλικ στην ομάδα από το παράθυρο <interface>Έργου</interface> για να ανοίξετε το διάλογο <interface>Ιδιότητες ομάδας</interface>. (Εναλλακτικά, κάντε δεξί κλικ στην ομάδα και επιλέξτε <guimenuitem>Ιδιότητες</guimenuitem>.) <figure>
       <title>Διάλογος ιδιοτήτων ομάδας</title>
       <screenshot>
	   <screeninfo>Διάλογος ιδιοτήτων ομάδας</screeninfo>
        <graphic fileref="figures/project_group.png" format="PNG" srccredit="jhs"/>
       </screenshot>
     </figure></para>

    <para>Οι ιδιότητες που ορίζονται για μια ομάδα ισχύουν και για όλους τους στόχους που ανήκουν στην ομάδα. Επομένως, οι σημαίες μεταγλωττιστή ή συνδέτη που ορίζονται για μια ομάδα θα ισχύουν και για όλους τους στόχους της ομάδας (παράλληλα με τις ιδιότητες του μεμονωμένου στόχου). Ο διάλογος ιδιοτήτων ομάδας περιέχει τα ακόλουθα πεδία: <itemizedlist>
		    <listitem>
		     <para><emphasis>Συμπεριλαμβανόμενα</emphasis>: Ορίστε τους καταλόγους συμπεριλαμβανομένων των στόχων C και C++ εδώ. Εδώ θα πρέπει να παρέχετε όλες τις επιλογές συμπεριλαμβανομένων του μεταγλωττιστή, π.χ. -I/usr/include/blah. Οι διαδρομές των συμπεριλαμβανομένων θα χρησιμοποιηθούν για να εντοπιστούν τα αρχεία κεφαλίδων που συμπεριλαμβάνονται από τα αρχεία πηγαίου κώδικα. (Εδώ μπορούν να οριστούν και άλλες σημαίες μεταγλωττιστή, αλλά θα ήταν προτιμότερο να οριστούν στα πεδία <emphasis>σημαιών μεταγλωττιστή</emphasis> που περιγράφονται παρακάτω.)</para>
           </listitem>
		    <listitem>
		     <para><emphasis>Σημαίες μεταγλωττιστή</emphasis>: Εδώ ορίζετε τις σημαίες που αφορούν ειδικά το μεταγλωττιστή. Παρέχονται διάφορα πεδία, ανάλογα με την κατηγορία του μεταγλωττιστή. Μπορείτε λοιπόν να ορίσετε σημαίες που εξαρτώνται από το μεταγλωττιστή που θα χρησιμοποιηθεί. Ο προεπιλεγμένος μεταγλωττιστής για τις C/C++ είναι ο gcc/g++ (μεταγλωττιστής C GNU). Για περισσότερες λεπτομέρειες δείτε το <ulink url="info:gcc">gcc info</ulink>.</para>
           </listitem>
		    <listitem>
		     <para><emphasis>Κατάλογοι εγκατάστασης</emphasis>: Ο διάλογος περιέχει ένα πεδίο για κάθε στόχο της ομάδας που χρειάζεται κατάλογο εγκατάστασης. Ορίστε σχετικό κατάλογο εγκατάστασης με βάση μία από τις μεταβλητές καταλόγου του <application>automake</application>, π.χ. $(prefix), $(bindir), $(libdir) ή $(datadir).</para>
           </listitem>
          </itemizedlist></para>
   </sect2>

   <sect2 id="target-properties">
    <title>Ιδιότητες στόχου</title>
    <para>Οι ιδιότητες που ορίζονται για έναν στόχο αφορούν αποκλειστικά και μόνο αυτόν το στόχο. Ωστόσο, ο στόχος κληρονομεί και τις ιδιότητες της ομάδας που τον περιέχει.</para>
	  <para>Για να επεξεργαστείτε τις ιδιότητες ενός στόχου, κάντε διπλό κλικ στο στόχο από το παράθυρο <interface>Έργου</interface> για να ανοίξετε το διάλογο Ιδιότητες στόχου. (Εναλλακτικά, κάντε δεξί κλικ στην ομάδα και επιλέξτε <guimenuitem>Ιδιότητες</guimenuitem>.) <figure>
       <title>Διάλογος ιδιοτήτων στόχου</title>
       <screenshot>
	   <screeninfo>Διάλογος ιδιοτήτων στόχου</screeninfo>
        <graphic fileref="figures/project_target.png" format="PNG" srccredit="jhs"/>
       </screenshot>
     </figure></para>
    <para>Εδώ μπορείτε να προσθέσετε σε συγκεκριμένο στόχο τα αρθρώματα που είχατε προσθέσει από τις <link linkend="project-properties">Ιδιότητες έργου</link>. Για να ενεργοποιήσετε το άρθρωμα, απλά σημειώστε την επιλογή δίπλα από το όνομα του αρθρώματος. Αυτομάτως, θα προστεθούν στο στόχο σημαίες συμπεριλαμβανομένων και συνδέτη, επιτρέποντάς σας να χρησιμοποιήσετε το άρθρωμα για αυτό το στόχο.</para>
    <sect3 id="target-advanced">
    <title>Προχωρημένες επιλογές στόχου</title>
    <para>Τα παρακάτω πεδία είναι προχωρημένες ρυθμίσεις στις οποίες αποκτάτε πρόσβαση με κλικ στο κουμπί <guibutton>Για προχωρημένους...</guibutton> του διαλόγου ιδιοτήτων στόχου.</para>
    <para>
    <figure>
       <title>Διάλογος ιδιοτήτων στόχου</title>
       <screenshot>
	   <screeninfo>Διάλογος ιδιοτήτων στόχου</screeninfo>
        <graphic fileref="figures/project_target_details.png" format="PNG" srccredit="jhs"/>
       </screenshot>
     </figure>
		   <itemizedlist>
		    <listitem>
		     <para><emphasis>Σημαίες μεταγλωττιστή</emphasis>: Εδώ ορίζετε τις σημαίες που αφορούν ειδικά το μεταγλωττιστή. Παρέχονται διάφορα πεδία, ανάλογα με την κατηγορία του μεταγλωττιστή. Μπορείτε λοιπόν να ορίσετε σημαίες που εξαρτώνται από το μεταγλωττιστή που θα χρησιμοποιηθεί. Ο προεπιλεγμένος μεταγλωττιστής για τις C/C++ είναι ο gcc/g++ (μεταγλωττιστής C GNU). Για περισσότερες λεπτομέρειες δείτε το <ulink url="info:gcc">gcc info</ulink>.</para>
            </listitem>
		    <listitem>
		     <para><emphasis>Σημαίες συνδέτη</emphasis>: Εδώ ορίζετε τις σημαίες συνδέτη που θα πρέπει να χρησιμοποιηθούν για τη σύνδεση του στόχου. Αυτές οι σημαίες αφορούν μόνο τους στόχους Προγράμματος ή Βιβλιοθήκης. Για περισσότερες λεπτομέρειες σχετικά με τις επιλογές συνδέτη, δείτε το <ulink url="info:ld">ld info</ulink>.</para>
            </listitem>
		    <listitem>
		     <para><emphasis>Βιβλιοθήκες</emphasis>: Ορίστε τις βιβλιοθήκες από τις οποίες εξαρτάται ο στόχος.</para>
           </listitem>
          </itemizedlist>

    </para>
    </sect3>
   </sect2>
  </sect1>
  
 </chapter>

 <!-- Build -->
 <!-- ============= Build ====================== -->
 <chapter id="building">
  <title>Κατασκευή</title>
  <para>Το Anjuta χειρίζεται έργα <application>autotools</application>. Μπορεί να χειριστεί και άλλα ήδη έργων, π.χ. έργα που χρησιμοποιούν Makefile γραμμένο από το χρήστη, αλλά η διεπαφή κατασκευής είναι προσανατολισμένη στα έργα autotools. Οπότε, ορισμένες γνώσεις για αυτά είναι χρήσιμες για την κατανόηση του πώς κατασκευάζεται ένα έργο.</para>
  <para>Ένα έργο που βασίζεται σε autotools κατασκευάζεται σε τρία βήματα:</para>
  <para>
     <orderedlist>
      <listitem><para>Δημιουργία</para></listitem>
      <listitem><para>Ρύθμιση</para></listitem>
      <listitem><para>Κατασκευή (Build)</para></listitem>
     </orderedlist>
  </para>
  <para>Η <emphasis>Κατασκευή</emphasis> είναι το βασικό βήμα, στο οποίο δημιουργούνται τα αρχεία στόχων από τα αρχεία πηγαίου κώδικα. Διαιρείται σε δύο υποβήματα: Τη <emphasis>Μεταγλώττιση</emphasis> και τη <emphasis>Σύνδεση</emphasis>. Στη φάση της <emphasis>Μεταγλώττισης</emphasis> δημιουργούνται όλα τα αρχεία αντικειμένων από τα αντίστοιχα αρχεία πηγαίου κώδικα. Π.χ., το πηγαίο αρχείο <filename>hello.c</filename> θα δώσει το <filename>hello.o</filename> μετά τη μεταγλώττιση. Σε γενικές γραμμές, δεν χρειάζεται να ανησυχείτε για αυτά τα αρχεία αντικειμένων — σκεφτείτε τα ως μεταβατικά αρχεία. Στη φάση της <filename>Σύνδεσης</filename> όλα τα αρχεία αντικειμένων και όλες οι βιβλιοθήκες συνδέονται μεταξύ τους για να παράγουν το τελικό εκτελέσιμο. Ορισμένες γλώσσες προγραμματισμού δεν απαιτούν την ύπαρξη φάσης <filename>Μεταγλώττισης</filename> και <emphasis>Σύνδεσης</emphasis>. Επιπλέον, το βήμα της <emphasis>Κατασκευής</emphasis> μπορεί να χρησιμοποιηθεί και για τη δημιουργία άλλων αρχείων, π.χ. τεκμηρίωσης, που δεν απαιτεί την ύπαρξη των δύο υποβημάτων.</para>
  <para>Η <emphasis>Ρύθμιση</emphasis> είναι το βήμα κατά το οποίο το δέντρο πηγαίου κώδικα προσαρμόζεται στο σύστημά σας. Τα έργα <application>autotools</application> μπορούν να κατασκευαστούν σε ποικίλα συστήματα, με τη χρήση διαφορετικών μεταγλωττιστών που χρησιμοποιούν διαφορετικές λειτουργίες βιβλιοθήκης. Σε αυτό το βήμα εκτελείται το σενάριο <filename>configure</filename> το οποίο ελέγχει διάφορα χαρακτηριστικά του συστήματός σας και δημιουργεί ορισμένα από τα αρχεία που απαιτούνται για την κατασκευή (όπως το <filename>Makefile</filename> και το <filename>config.h</filename>). Επιπλέον, αυτό το βήμα χρησιμοποιείται και για τον καθορισμό των επιλογών κατασκευής. Π.χ., μία επιλογή κατασκευής μπορεί να απενεργοποιεί τη βελτιστοποίηση προκειμένου να διευκολυνθεί η εκσφαλμάτωση ή να απενεργοποιηθεί κάποιο πειραματικό κομμάτι του προγράμματος.</para>
  <para>Η <emphasis>Δημιουργία</emphasis> είναι το βήμα κατά το οποίο δημιουργείται το σενάριο <filename>configure</filename> και άλλα σχετικά αρχεία. Το σενάριο <filename>configure</filename> θα πρέπει να μπορεί να εκτελείται σε πολλά διαφορετικά συστήματα και να ελέγχει διάφορα χαρακτηριστικά. Επομένως, είναι αρκετά δύσκολο να γραφτεί με το χέρι. Επιπλέον, το <application>autotools</application> επιβάλλει ορισμένους συγκεκριμένους κανόνες οργάνωσης του έργου, όπως η παρουσία κάποιων υποχρεωτικών αρχείων, π.χ. τα<filename>NEWS</filename> και <filename>COPYING</filename>. Περιλαμβάνει αρκετά εργαλεία για τη δημιουργία αυτών των υποχρεωτικών αρχείων από απλούστερα αρχεία που γράφει ο προγραμματιστής, π.χ. τα <filename>configure.in</filename> (ή <filename>configure.ac</filename>) και <filename>Makefile.am</filename>. Όλα αυτά τα εργαλεία συνήθως εκτελούνται από το σενάριο <filename>autogen.sh</filename> που βρίσκεται στον κατάλογο του έργου. Αυτό το βήμα είναι χρήσιμο μόνο για τους προγραμματιστές (τα άτομα που τροποποιούν τα αρχεία πηγαίου κώδικα), αφού το σενάριο <filename>configure</filename> εξαρτάται μόνο από τα αρχεία πηγαίου κώδικα και διανέμεται μαζί με το πακέτο του έργου. Σημειώστε ότι τα makefile που δημιουργεί το <application>configure</application> συμπεριλαμβάνουν ορισμένους κανόνες για την αυτόματη εκ νέου δημιουργία του έργου, όποτε χρειάζεται. Άρα, συνήθως δεν απαιτείται η επανεκτέλεσή του.</para>
 <para>Ανατρέξτε στις σελίδες info των <ulink type="info" url="info:automake"><application>automake</application></ulink> και <ulink type="info" url="info:autoconf"><application>autoconf</application></ulink> για περισσότερες λεπτομέρειες σχετικά με τον τρόπο λειτουργίας αυτών των εργαλείων.</para>


 <!-- Build: Generate and Configure -->

 <sect1 id="build-configure">
  <title>Δημιουργία και ρύθμιση</title>
  <sect2 id="configure">
   <title>Ρύθμιση έργου</title>
   <para>Θα πρέπει να εκτελέσετε αυτό το βήμα πριν την κατασκευή του έργου σας. Συνήθως, χρειάζεται να εκτελεστεί μόνο μία φορά, στην αρχή της πρώτης διαδικασίας κατασκευής, — π.χ. αμέσως μετά την εξαγωγή των αρχείων από το tarball της διανομής του έργου. Από εκεί και πέρα, η ρύθμιση γίνεται αυτόματα κατά τη διάρκεια των επόμενων διαδικασιών κατασκευής. Αν είχατε χρησιμοποιήσει τον <emphasis>Οδηγό δημιουργίας εφαρμογών</emphasis> για τη δημιουργία της εφαρμογής, δεν θα χρειαστεί να εκτελέσετε αυτό το βήμα: ο οδηγός θα το εκτελέσει κατά τη διαδικασία της δημιουργίας του έργου.</para>
   <para>Δεν είναι υποχρεωτικό να το εκτελέσετε μόνο μία φορά. Μπορείτε να το εκτελείτε όποτε το επιθυμείτε, π.χ. όταν πρέπει να αλλάξουν οι επιλογές ρύθμισης. Σημειώστε, όμως, ότι αν αλλάξει το αρχείο <filename>config.h</filename> στο ανώτατο επίπεδο του καταλόγου, αν εκτελέσετε ξανά το <filename>configure</filename> δεν θα αντικατασταθεί το παραπάνω αρχείο.</para>
   <para>Και τα δύο βήματα δημιουργίας και ρύθμισης (μέσω configure) εκτελούνται με από το ίδιο στοιχείο μενού: <menuchoice><guisubmenu>Κατασκευή</guisubmenu><guimenuitem>Ρύθμιση έργου…</guimenuitem></menuchoice>. Αυτό το στοιχείο μενού εμφανίζει ένα διάλογο από όπου μπορείτε να επιλέξετε: <itemizedlist>
     <listitem><para>Αν θέλετε να εκτελέσετε το βήμα της δημιουργίας ή όχι</para>
      <para>Το βήμα της δημιουργίας πρέπει να εκτελεστεί μία φορά, στην αρχή του έργου· στη συνέχεια, το αναλαμβάνει η διαδικασία κατασκευής. Μπορείτε να επιβάλλετε την εκ νέου εκτέλεσή του σημειώνοντας την επιλογή <interface>Επαναδημιουργία έργου</interface>· π.χ. αν αντιμετωπίσετε δυσκολίες κατά την παραγωγή του έργου, ενδεχομένως επειδή προέκυψαν πολλά σφάλματα κατασκευής αφού τροποποιήσατε διάφορα αρχεία κατασκευής).</para>
     </listitem>
     <listitem><para>Το όνομα των ρυθμίσεων</para>
      <para>Αυτό το όνομα χρησιμοποιείται για την αναγνώριση κάθε συνόλου ρυθμίσεων. Μερικά σύνολα ρυθμίσεων (Προεπιλογή, Εκσφαλμάτωση, Βελτιστοποιημένο) είναι ήδη καθορισμένα και έτοιμα. Ένα σύνολο ρυθμίσεων περιλαμβάνει τον κατάλογο κατασκευής και μερικές επιλογές ρυθμίσεων.</para>
     </listitem>
     <listitem><para>Τον κατάλογο κατασκευής</para>
      <para>Πρόκειται για το όνομα του καταλόγου κατασκευής. Στο σύνολο ρυθμίσεων Προεπιλογή, είναι ο ίδιος κατάλογος με τον πηγαίο κατάλογο, ωστόσο το autotools επιτρέπει την κατασκευή σε διαφορετικό κατάλογο.</para> 
      <note><para>Κάθε σύνολο ρυθμίσεων θα πρέπει να διαθέτει διαφορετικό κατάλογο κατασκευής και, αν ένα σύνολο ρυθμίσεων χρησιμοποιεί τον πηγαίο κατάλογο, δεν θα μπορούν να υπάρχουν άλλα σύνολα ρυθμίσεων. Πριν προσθέσετε ένα νέο σύνολο ρυθμίσεων θα πρέπει να επιλέξετε <menuchoice><guisubmenu>Κατασκευή</guisubmenu><guimenuitem>Αφαίρεση ρυθμίσεων</guimenuitem></menuchoice> για το σύνολο ρυθμίσεων που χρησιμοποιεί τον πηγαίο κατάλογο.</para></note>
     </listitem>
     <listitem><para>Επιλογές configure</para>
      <para>Αυτές οι επιλογές περνάνε στο σενάριο <filename>configure</filename>. Μερικές είναι οι συνήθεις, όπως τα --prefix και CFLAGS· άλλες εξαρτώνται από το έργο. Μπορείτε να λάβετε μια πλήρη λίστα των επιτρεπόμενων επιλογών ρύθμισης εκτελώντας το σενάριο <filename>configure</filename> με την επιλογή <option>--help</option>.</para>
     </listitem>
    </itemizedlist></para>
  </sect2>
  <sect2 id="select-configure">
   <title>Επιλογή ρύθμισης</title>
   <para>Αν έχετε δημιουργήσει διαφορετικά σύνολα ρυθμίσεων, μπορείτε να επιλέξετε ποιο θα είναι ενεργό από το στοιχείο μενού <menuchoice><guisubmenu>Κατασκευή</guisubmenu><guimenuitem>Επιλογή ρυθμίσεων</guimenuitem></menuchoice>.</para>
  </sect2>
  <sect2 id="clean-configure">
   <title>Εκκαθάριση ρυθμίσεων</title>
   <para>Για να εκκαθαρίσετε ένα έργο έτσι ώστε να απαιτεί την επανάληψη του βήματος της ρύθμισης, επιλέξτε <menuchoice><guisubmenu>Κατασκευή</guisubmenu><guimenuitem>Αφαίρεση ρυθμίσεων</guimenuitem></menuchoice>. Θα εκτελεστεί το <command>make distclean</command> και θα διαγραφούν περισσότερα αρχεία από ότι με το <command>Εκκαθάριση έργου</command>. Ουσιαστικά, το έργο θα επανέλθει στην κατάσταση που θα ήταν αν είχε μόλις εξαχθεί από το tarball της διανομής. Σημειώστε ότι δεν αφαιρείται ο ίδιος ο κατάλογος των ρυθμίσεων· βεβαίως, μπορείτε να τον αφαιρέσετε με το χέρι.</para>
  </sect2>
 </sect1>


 <!-- Build: Compile and Build -->

 <sect1 id="build-compile-and-build">
  <title>Μεταγλώττιση και κατασκευή</title>
  <sect2 id="build-compile">
   <title>Μεταγλώττιση αρχείου</title>
   <para>Σε ένα έργο, τα μεμονωμένα αρχεία πηγαίου κώδικα μπορούν να μεταγλωττιστούν ξεχωριστά για τη δημιουργία αρχείων αντικειμένων (αρχείων <filename>*.o</filename>). Αν και δεν χρειάζεται να ασχολείστε με αυτά τα αρχεία αντικειμένων, ορισμένες φορές μπορεί να σας φανεί χρήσιμο να μεταγλωττίσετε πρώτα ένα συγκεκριμένο αρχείο (π.χ. για να βεβαιωθείτε ότι δεν υπάρχουν συντακτικά λάθη). Η κατασκευή ολόκληρου του έργου μπορεί να είναι αρκετά χρονοβόρα, ειδικά για μεγάλες και πολύπλοκες εφαρμογές. Άρα, μάλλον θα χρειαστεί να επαναλάβετε αρκετές φορές τη διαδικασία μεταγλώττισης και επανεπεξεργασίας/διόρθωσης.</para>
   <para>Για να μεταγλωττίσετε το τρέχον αρχείο, επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Κατασκευή</guisubmenu><guimenuitem>Μεταγλώττιση</guimenuitem></menuchoice> ή πατήστε <keycap>F11</keycap>. </para>
  </sect2>

  <sect2 id="build-build">
   <title>Κατασκευή εκτελέσιμου</title>
   <para>Το <application>Anjuta</application> δεν διαθέτει ξεχωριστή εντολή σύνδεσης, για τον απλούστατο λόγο ότι δεν τη χρειάζεται. Η διαδικασία κατασκευής μεταγλωττίζει όλα τα αρχεία πηγαίου κώδικα και τα συνδέει μεταξύ τους, αλλά και με τις απαιτούμενες βιβλιοθήκες. Η εντολή για την κατασκευή δεν μεταγλωττίζει τα ήδη ενημερωμένα αρχεία (αυτό ονομάζεται <emphasis>έλεγχος εξαρτήσεων</emphasis>). Αν έχετε ήδη μεταγλωττίσει καθένα αρχείο ξεχωριστά, το βήμα της κατασκευής θα κάνει μόνο τη σύνδεση. Αν είχατε ήδη κατασκευάσει το έργο και δεν έχετε τροποποιήσει κανένα εξαρτώμενο αρχείο εν τω μεταξύ, θα παραλειφθεί και η φάση της σύνδεσης.</para>
   <para>Πώς λοιπόν επηρεάζει ο έλεγχος εξαρτήσεων την ανάπτυξη του έργου; Αν τροποποιήσετε ένα αρχείο, τότε όλα τα αρχεία πηγαίου κώδικα που εξαρτώνται από το τροποποιημένο αρχείο μεταγλωττίζονται εκ νέου. Κατά τη διαδικασία κατασκευής, όλα τα αρχεία του έργου (και όχι μόνο τα αρχεία αντικειμένων και το εκτελέσιμο) ελέγχονται για να διαπιστωθούν αυτού του είδους οι εξαρτήσεις. Αν βρεθεί ότι ένα συγκεκριμένο αρχείο εξαρτάται από αρχείο που τροποποιήθηκε, τότε επαναδημιουργείται το πρώτο αρχείο.</para>
   <para>Μπορείτε να φανταστείτε τη ζωή σας (ως προγραμματιστή) χωρίς τον έλεγχο εξαρτήσεων; Αν ναι, τότε περιμένετε μέχρι να αρχίσετε να αναπτύσσετε μεγάλα έργα!</para>
   <para><menuchoice><guisubmenu>Κατασκευή</guisubmenu><guimenuitem>Κατασκευή</guimenuitem></menuchoice>: Κατασκευάζει όλα τα αρχεία στον κατάλογο του τρέχοντος αρχείου.</para>
   <para><menuchoice><guisubmenu>Κατασκευή</guisubmenu><guimenuitem>Κατασκευή έργου</guimenuitem></menuchoice>: Κατασκευάζει όλο το έργο, συμπεριλαμβανομένων όλων των υποκαταλόγων, αναδρομικά.</para>
  </sect2>
 </sect1>


 <!-- Build: Other operations -->

 <sect1 id="build-other">
  <title>Άλλες λειτουργίες</title>
  <sect2 id="build-dist">
   <title>Δημιουργία πακέτου διανομής</title>
   <para>Για να κατασκευάσετε μια διανομή tarball του έργου, επιλέξτε <menuchoice><guisubmenu>Κατασκευή</guisubmenu><guimenuitem>Κατασκευή tarball</guimenuitem></menuchoice>. Θα δημιουργηθεί ένα tarball (αρχείο <filename>*.tar.gz</filename>) και θα τοποθετηθεί στο ανώτατο επίπεδο του καταλόγου του έργου. Αποθηκεύστε το αρχείο σε ασφαλές μέρος για να ξεκινήσετε να το διανέμετε.</para>
  </sect2>
  <sect2 id="build-install">
   <title>Εγκατάσταση έργου</title>
   <para>Επιλέξτε <menuchoice><guisubmenu>Κατασκευή</guisubmenu><guimenuitem>Εγκατάσταση</guimenuitem></menuchoice> για να εγκαταστήσετε τη νεοδημιουργηθείσα εφαρμογή στο σύστημά σας.</para>
   <note>
    <title>Εγκατάσταση στο σύνολο του συστήματος</title>
    <para>Θα πρέπει να είστε συνδεδεμένοι ως root για να κάνετε εγκατάσταση στο σύνολο του συστήματος. Επίσης, σημειώστε ότι μια εφαρμογή GNOME μπορεί να χρησιμοποιεί pixmap μόνο αν έχει εγκατασταθεί στο σύνολο του συστήματος. Διαφορετικά, κατά την εκτέλεση της εφαρμογής θα προκύπτουν πολλά σφάλματα "δεν βρέθηκε το pixmap". Μπορείτε να ρυθμίσετε τις προτιμήσεις κατασκευής του Anjuta έτσι ώστε να χρησιμοποιείται το <command>sudo</command> ή το <command>su</command> κατά την εγκατάσταση του έργου.</para>
   </note>
  </sect2>
  <sect2 id="build-clean">
   <title>Εκκαθάριση</title>
   <para>Αυτό διαγράφει όλα τα αρχεία που δημιουργήθηκαν κατά τη διαδικασία κατασκευής, συμπεριλαμβανομένων και όλων των αρχείων αντικειμένων (<filename>*.o</filename> files), καθώς και των εκτελέσιμων. Μπορεί να χρησιμοποιηθεί μόνο για έναν κατάλογο ή για το σύνολο του έργου.</para>
   <para>Επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Κατασκευή</guisubmenu><guimenuitem>Εκκαθάριση έργου</guimenuitem></menuchoice> για να κάνετε την εκκαθάριση των αρχείων του έργου.</para>
   <para>Επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Κατασκευή</guisubmenu><guimenuitem>Εκκαθάριση</guimenuitem></menuchoice> για να εκκαθαρίσετε μόνο τον κατάλογο του τρέχοντος αρχείου.</para>
  </sect2>

 </sect1>

</chapter>

 <!-- Debugging -->
 <!-- ============= Debugging ====================== -->
 <chapter id="debugging">
  <title>Εκσφαλμάτωση</title>
  <para>
   <emphasis>Η εκσφαλμάτωση είναι για τους ανθρώπους. Η διόρθωση για τους Θεούς...</emphasis>
  </para>
  <para>Αυτή η ενότητα εξετάζει τι μπορείτε να κάνετε ως <emphasis>άνθρωπος</emphasis>. Το αν θα γίνετε <emphasis>Θεός</emphasis> εξαρτάται από εσάς!</para>
  <para>Αν ένα πρόγραμμα δεν συμπεριφέρεται όπως θα έπρεπε, λέμε ότι το πρόγραμμα περιέχει <emphasis>σφάλματα</emphasis>. Τα σφάλματα δεν είναι λάθη στη μεταγλώττιση — τα λάθη της μεταγλώττισης είναι σχετικά εύκολο να διορθωθούν γιατί ο μεταγλωττιστής σας ενημερώνει για το ποιο είναι το πρόβλημα. Αντιθέτως, τα σφάλματα είναι λάθη που εμφανίζονται κατά την εκτέλεση του προγράμματος και που εντοπίζονται δύσκολα (μερικές φορές πολύ δύσκολα!).</para>
  <para>Δεν υπάρχουν προγράμματα χωρίς σφάλματα. Το μόνο που μπορούμε να κάνουμε εμείς είναι να προσπαθήσουμε να μειώσουμε τον αριθμό των σφαλμάτων του προγράμματος. Η διαδικασία αφαίρεσης των σφαλμάτων ονομάζεται <emphasis>εκσφαλμάτωσης</emphasis> και εκτελείται από τις <emphasis>εφαρμογές εκσφαλμάτωσης</emphasis>. Το <application>Anjuta</application> παρέχει ένα ιδιαίτερα φιλικό και ισχυρό περιβάλλον εκσφαλμάτωσης (ουσιαστικά πρόκειται για γραφική διεπαφή που εσωκλείει το <application>gdb</application>, ένα ισχυρό εργαλείο εκσφαλμάτωσης από τη γραμμή εντολών, που είναι το βασικό εργαλείο εκσφαλμάτωσης στο Linux).</para>
  <para>Το περιβάλλον εκσφαλμάτωσης παρακολουθεί γραμμή γραμμή την εκτέλεση του προγράμματος και εμφανίζει διάφορες πληροφορίες που απαιτούνται για την πλήρη εξέταση της εκτέλεσης του προγράμματος.</para>

 <!-- Debugger: Start and stop -->

 <sect1 id="debugger-session">
  <title>Έναρξη και διακοπή</title>

  <para>Το πρόσθετο εκσφαλμάτωσης εκκινείται πάντα με ένα πρόγραμμα φορτωμένο. Αυτό μπορεί να γίνει με δύο τρόπους: <itemizedlist>
    <listitem><para><emphasis>Εκτέλεση εκτελέσιμου</emphasis></para></listitem>
    <listitem><para><emphasis>Προσκόλληση σε διεργασία</emphasis></para></listitem>
   </itemizedlist><note>
    <para>Οι περισσότερες λειτουργίες του Anjuta παρέχονται από πρόσθετα. Αν δεν βλέπετε τα μενού που περιγράφονται εδώ, μάλλον δεν έχετε φορτώσει το πρόσθετο εκσφαλμάτωσης. Πηγαίνετε στο <menuchoice><guisubmenu>Επεξεργασία</guisubmenu><guimenuitem>Προτιμήσεις</guimenuitem><guimenuitem>Γενικά</guimenuitem><guimenuitem>Εγκατεστημένα πρόσθετα</guimenuitem></menuchoice> και βεβαιωθείτε ότι είναι φορτωμένο το πρόσθετο εκσφαλμάτωσης. Πρόκειται για πρόσθετο που ενεργοποιείται από το χρήστη, άρα μπορείτε να το ενεργοποιείτε ή να το απενεργοποιείτε κατά βούληση.</para>
   </note></para>

  <sect2 id="debug-run">
   <title>Εκτέλεση εκτελέσιμου</title>
   <para>Χρησιμοποιήστε το ίδιο μενού για να εκτελέσετε ένα πρόγραμμα με ή χωρίς εκσφαλμάτωση: επιλέξτε <menuchoice><guisubmenu>Εκτέλεση</guisubmenu><guimenuitem>Εκτέλεση προγράμματος</guimenuitem></menuchoice> για να εκτελέσετε το πρόγραμμα χωρίς εκσφαλμάτωση, και <menuchoice><guisubmenu>Εκτέλεση</guisubmenu><guimenuitem>Εκσφαλμάτωση προγράμματος</guimenuitem></menuchoice> για να το εκτελέσετε με εκσφαλμάτωση.</para>
   <note>
    <para>Για να αξιοποιήσετε πλήρως το πρόσθετο εκσφαλμάτωσης, παρακαλούμε, κατασκευάστε το πρόγραμμά σας με πληροφορίες εκσφαλμάτωσης (-g στο gcc) και χωρίς βελτιστοποίηση (-O0 στο gcc). Μπορείτε να ορίσετε αυτές τις επιλογές από τις ρυθμίσεις εκσφαλμάτωσης πριν κατασκευάσετε το πρόγραμμα για πρώτη φορά.</para>
   </note>
   <para>Μπορείτε να επιλέξετε ποιο πρόγραμμα θα εκτελέσετε και ποιο θα είναι το περιβάλλον του, χρησιμοποιώντας <menuchoice><guisubmenu>Εκτέλεση</guisubmenu><guimenuitem>Παράμετροι προγράμματος...</guimenuitem></menuchoice>. Μπορείτε να επιλέξετε: <itemizedlist>
     <listitem><para>Το πρόγραμμα για το οποίο θέλετε να κάνετε εκσφαλμάτωση</para>
      <para>Το αναπτυσσόμενο μενού του πλαισίου αναφέρει όλα τα εκτελέσιμα του τρέχοντος έργου. Μπορείτε όμως να επιλέξετε διαφορετικό εκτελέσιμο, που δεν ανήκει στο τρέχον έργο. Το πρόσθετο εκσφαλμάτωσης δέχεται και εκτελέσιμα libtool· πρόκειται για σενάρια του libtool που εσωκλείουν πραγματικά εκτελέσιμα.</para>
     </listitem>
     <listitem><para>Τις παραμέτρους της γραμμής εντολών</para></listitem>
     <listitem><para>Τον κατάλογο εργασίας</para></listitem>
     <listitem><para>Μεταβλητές περιβάλλοντος</para>
      <para>Οι μεταβλητές περιβάλλοντος ανοιχτού γκρι χρώματος είναι οι τρέχουσες μεταβλητές περιβάλλοντος. Μπορείτε να προσθέτετε, να τροποποιείτε ή και να απομακρύνετε μεταβλητές περιβάλλοντος.</para>
      <tip><para>Για να κάνετε εκσφαλμάτωση του Anjuta χρησιμοποιώντας το Anjuta μπορείτε να χρησιμοποιήσετε διαφορετικό θέμα, ώστε η εμφάνιση της εφαρμογής που υφίσταται την εκσφαλμάτωση να είναι διαφορετική. Π.χ., προσθέστε "GTK2_RC_FILES=/usr/share/themes/Crux/gtk-2.0/gtkrc".</para></tip>
     </listitem>
     <listitem><para>Αν το πρόγραμμα θα πρέπει να εκτελείται στο τερματικό ή όχι. Αν ναι, θα χρησιμοποιείται το πρόσθετο τερματικού του Anjuta.</para></listitem>
    </itemizedlist></para>
  </sect2>
	
  <sect2 id="debug-attach">
  <title>Προσκόλληση σε διεργασία</title>
   <para>Μπορείτε, επίσης, να επιλέξετε την προσκόλληση σε μια εκτελούμενη διεργασία, οπότε η εκσφαλμάτωση ξεκινά επιλέγοντας <menuchoice><guisubmenu>Εκτέλεση</guisubmenu><guimenuitem>Εκσφαλμάτωση διεργασίας...</guimenuitem></menuchoice>. Εμφανίζεται μία λίστα με όλες τις εκτελούμενες διεργασίες του συστήματος.</para>
   <figure id="attach">
    <title>Διάλογος προσκόλλησης σε διεργασία</title>
    <screenshot>
	<screeninfo>Διάλογος προσκόλλησης σε διεργασία</screeninfo>
     <graphic fileref="figures/attach.png" format="PNG" srccredit="andyp"/>
    </screenshot>
   </figure>
   <para>Επιλέξτε τη διεργασία στην οποία θα γίνει η προσκόλληση και πατήστε <guibutton>Εντάξει</guibutton>.</para>
   <note>
    <para>Προς το παρόν, δεν είναι δυνατή η φόρτωση πληροφοριών συμβόλων για μια προσκολλημένη διεργασία. Τα σύμβολα θα πρέπει να συμπεριλαμβάνονται στην ίδια τη διεργασία.</para>
   </note>
  </sect2>
  
  <sect2 id="debug-stop">
   <title>Διακοπή της εκσφαλμάτωσης</title>
    <para>Επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Εκτέλεση</guisubmenu><guimenuitem>Διακοπή εκσφαλμάτωσης</guimenuitem></menuchoice> για να διακόψετε την εκσφαλμάτωσης. Έτσι τερματίζεται το πρόγραμμα για το οποίο γινόταν εκσφαλμάτωση. Αν το πρόσθετο εκσφαλμάτωσης είχε προσκολληθεί σε εκτελούμενη διεργασία, τότε το πρόσθετο θα αποκολληθεί από τη διεργασία χωρίς να την τερματίσει. Αν το πρόγραμμα είναι προσκολλημένο ή εκτελείται θα εμφανιστεί σχετικός διάλογος επιβεβαίωσης.</para>
  </sect2>

  <sect2 id="debug-add-sources">
   <title>Προσθήκη καταλόγων με αρχεία πηγαίου κώδικα</title>
   <para>Επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guimenuitem>Προσθήκη διαδρομών πηγαίου κώδικα...</guimenuitem></menuchoice> για να εμφανίσετε ένα διάλογο που θα σας επιτρέψει να προσθέσετε ή να αφαιρέσετε καταλόγους με αρχεία πηγαίου κώδικα.</para>
   <para>Τα περισσότερα εκτελέσιμα συμπεριλαμβάνουν πλήρεις διαδρομές αρχείων, οπότε ο καθορισμός καταλόγων με αρχεία πηγαίου κώδικα δεν χρησιμεύει ιδιαίτερα. Ωστόσο, ορισμένα εκτελέσιμα περιλαμβάνουν μόνο ονόματα αρχείων, χωρίς τις διαδρομές τους· σε αυτές τις περιπτώσεις το πρόσθετο εκσφαλμάτωσης αναζητεί τα αρχεία πηγαίου κώδικα σε αυτούς τους καταλόγους. Η σειρά των καταλόγων μπορεί να παίξει ρόλο αν υπάρχουν πολλά αρχεία με το ίδιο όνομα, για αυτό και μπορείτε να την αλλάξετε χρησιμοποιώντας τα κουμπιά <guibutton>Πάνω</guibutton> και <guibutton>Κάτω</guibutton>. Η λίστα των καταλόγων αποστέλλεται στο πρόσθετο εκσφαλμάτωσης κατά την εκκίνησή του. Αν την τροποποιήσετε, θα πρέπει να επανεκκινήσετε την εκσφαλμάτωση, για να χρησιμοποιηθεί η νέα λίστα.</para>
  </sect2>

 </sect1>
 
 <!-- Debugger: Execution -->
 
 <sect1 id="debugger-exec">
  <title>Εκτέλεση</title>
  <para>Μπορείτε να ελέγξετε πολύ στενά την εκτέλεση ενός προγράμματος από το πρόσθετο εκσφαλμάτωσης. Μπορείτε να εκτελέσετε το πρόγραμμα σε μεμονωμένα βήματα, ή να του επιτρέψετε να συνεχίσει την εκτέλεση μέχρι να φτάσει σε σημείο διακοπής. Αυτές οι διαδικασίες είναι απαραίτητες για να μπορέσετε να παρακολουθήσετε τη συμπεριφορά του προγράμματος. Επίσης, όπως και κατά την επεξεργασία βίντεο, μπορείτε να εκτελέσετε το πρόγραμμα σε <emphasis>αργή κίνηση</emphasis>, και να επιλέγετε αν επιθυμείτε να προχωρήσετε, να κάνετε παύση ή να διακόψετε. Δυστυχώς, δεν μπορείτε να επιστρέψετε πίσω.</para>
  <para>Στις ακόλουθες ενότητες περιγράφονται οι μέθοδοι που μπορούν να χρησιμοποιηθούν για την εκτέλεση του προγράμματος από το πρόσθετο εκσφαλμάτωσης. Οι εντολές αυτές μπορούν να χρησιμοποιηθούν μόνο αν έχει εκκινηθεί ήδη το πρόγραμμα.</para>
  
  <sect2 id="dbg-step-in">
   <title>Μεμονωμένα βήματα (βήμα εντός)</title>
   <para>Επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guimenuitem>Βήμα εντός</guimenuitem></menuchoice> ή κάντε κλικ στο εικονίδιο <guibutton>Βήμα εντός</guibutton> της <interface>εργαλειοθήκης εκσφαλμάτωσης</interface>.</para>
   <para>Η εκτέλεση σε μεμονωμένα βήματα εκτελεί μόνο μία εντολή του προγράμματος (ξεκινώντας από το σημείο όπου είχατε διακόψει) και μετά σας επιστρέφει τον έλεγχο. Αν η εντολή που πρέπει να εκτελεστεί περιέχει μία ή περισσότερες συναρτήσεις, το πρόσθετο εκσφαλμάτωσης προσπαθεί να εισέλθει εντός των συναρτήσεων (με τη σειρά εκτέλεσής τους). Αφού εκτελεστεί η εντολή και σας επιστραφεί ο έλεγχος, μπορείτε να ελέγξετε την κατάσταση του προγράμματος.</para>
   <para>Αν είναι εστιασμένο το <interface>Παράθυρο μεταγλώττισης από κώδικα μηχανής</interface>, θα εκτελεστεί μόνο μία εντολή του κώδικα μηχανής.</para>
  </sect2>

  <sect2 id="dbg-step-over">
   <title>Μεμονωμένα βήματα (βήμα πάνω από)</title>
   <para>Επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guimenuitem>Βήμα πάνω από</guimenuitem></menuchoice> ή κάντε κλικ στο εικονίδιο <guibutton>Βήμα πάνω από</guibutton> της <interface>εργαλειοθήκης εκσφαλμάτωσης</interface>.</para>
   <para>Το <emphasis>Βήμα επί</emphasis> μοιάζει με το <emphasis>Βήμα εντός</emphasis>, με τη διαφορά ότι δεν εισέρχεται εντός των συναρτήσεων κατά την εκτέλεση της εντολής. Η εντολή εκτελείται ολόκληρη.</para>
   <para>Αν είναι εστιασμένο το <interface>Παράθυρο μεταγλώττισης από κώδικα μηχανής</interface>, θα εκτελεστεί μία εντολή assembly, αλλά η εκτέλεση δεν θα εισέλθει εντός αν η εντολή αυτή κάνει κλήση σε υπορουτίνα.</para>
   <note>
    <para>Αν το βήμα απαιτεί τη φόρτωση δυναμικής βιβλιοθήκης, το πρόγραμμα δεν διακόπτεται στο τέλος του βήματος. Συνεχίζει να εκτελείται μέχρι να φτάσει σε σημείο διακοπής, ή μέχρι να το διακόψεται.</para>
   </note>
  </sect2>
  
  <sect2 id="dbg-step-out">
   <title>Μεμονωμένα βήματα (βήμα εκτός)</title>
   <para>Επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guimenuitem>Βήμα εκτός</guimenuitem></menuchoice> ή κάντε κλικ στο εικονίδιο <guibutton>Βήμα εκτός</guibutton> της <interface>εργαλειοθήκης εκσφαλμάτωσης</interface>.</para>
   <para>Το <emphasis>Βήμα εκτός</emphasis> εκτελεί την τρέχουσα συνάρτηση, μέχρι την επιστροφή. Το πρόγραμμα διακόπτεται αμέσως μόλις γίνει έξοδος από τη συνάρτηση. Ουσιαστικά, τα βήματα εκτός δεν είναι μεμονωμένα βήματα, γιατί δεν εκτελούν μόνο μία εντολή — εκτελούν ολόκληρη τη συνάρτηση μέχρι την επιστροφή της στην καλούσα συνάρτηση.</para>
  </sect2>
  
  <sect2 id="dbg-run">
   <title>Εκτέλεση/Συνέχιση</title>
   <para>Επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guimenuitem>Εκτέλεση/Συνέχιση</guimenuitem></menuchoice> ή κάντε κλικ στο εικονίδιο <guibutton>Εκτέλεση/Συνέχιση</guibutton> της <interface>εργαλειοθήκης εκσφαλμάτωσης</interface> για να συνεχίσετε την εκτέλεση του προγράμματος.</para>
   <para>Αυτή η επιλογή συνεχίζει την εκτέλεση του προγράμματος μέχρι το επόμενο σημείο διακοπής, ή μέχρι την έξοδο του προγράμματος.</para>
  </sect2>

  <sect2 id="dbg-runto">
   <title>Εκτέλεση ως</title>
   <para>Επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guimenuitem>Εκτέλεση ως το δρομέα</guimenuitem></menuchoice> ή κάντε κλικ στο εικονίδιο <guibutton>Εκτέλεση ως το δρομέα</guibutton> της <interface>εργαλειοθήκης εκσφαλμάτωσης</interface> για να εκτελέσετε το πρόγραμμα μέχρι τη γραμμή όπου βρίσκεται ο δρομέας.</para>
   <para>Η επιλογή αυτή συνεχίζει την εκτέλεση του προγράμματος μέχρι τη γραμμή ή μέχρι τη διεύθυνση (αν είναι εστιασμένο το <interface>Παράθυρο μεταγλώττισης από κώδικα μηχανής</interface>) όπου βρίσκεται ο δρομέας.</para>
  </sect2>
  
  <sect2 id="dbg-stop">
   <title>Διακοπή προγράμματος</title>
   <para>Όταν εκτελείται το πρόγραμμα και έχει αυτό τον έλεγχο, δεν μπορεί να γίνει εκσφαλμάτωση. Για να αποκτήσετε τον έλεγχο, ενώ εκτελείται το πρόγραμμα, επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guimenuitem>Παύση προγράμματος</guimenuitem></menuchoice> ή κάντε κλικ στο εικονίδιο <guibutton>Παύση προγράμματος</guibutton> της <interface>εργαλειοθήκης εκσφαλμάτωσης</interface>. Έτσι, θα διακόψετε το πρόγραμμα και θα επιστρέψετε τον έλεγχο στο πρόσθετο εκσφαλμάτωσης.</para>
  </sect2>
  
 </sect1>
 
<!-- ============= Debugging: Breakpoints ====================== -->
 
 <sect1 id="debugging-breaks">
  <title>Σημεία διακοπής (breakpoints)</title>
  <para>Κατά την εκσφαλμάτωση ενός προγράμματος, είναι χρήσιμο να μπορείτε να διακόπτετε την εκτέλεση ενός προγράμματος σε ένα συγκεκριμένο σημείο, ώστε να μπορείτε να εξετάσετε την κατάσταση του προγράμματος σε αυτό το σημείο. Τα σημεία διακοπής σας προσφέρουν αυτή τη δυνατότητα. Μπορείτε να ορίσετε σημεία διακοπής σε διάφορες θέσεις ενός αρχείου πηγαίου κώδικα και μετά να εκτελέσετε το πρόγραμμα. Όταν συναντάται ένα σημείο διακοπής, η εκτέλεση του προγράμματος αναστέλλεται, επιτρέποντάς σας να υπολογίσετε εκφράσεις, να ελέγξετε τις μεταβλητές, να μελετήσετε την κατάσταση της στοίβας, κτλ.</para>

  <sect2 id="breaks-list">
   <title>Λίστα σημείων διακοπής</title>
   <para>Μπορείτε να ανοίξετε το <interface>παράθυρο της λίστας σημείων διακοπής</interface> επιλέγοντας <menuchoice><guisubmenu>Προβολή</guisubmenu><guimenuitem>Σημεία διακοπής</guimenuitem></menuchoice>.</para>
   <para>
    <figure>
      <title>Προβολή σημείων διακοπής</title>
      <screenshot>
       <screeninfo>Προβολή σημείων διακοπής</screeninfo>
       <graphic fileref="figures/brk_dlg.png" format="PNG" srccredit="andyp"/>
      </screenshot>
    </figure>
   </para>
   <para>Η προβολή διαθέτει τις ακόλουθες στήλες: <variablelist>
     <varlistentry>
      <term>Τοποθεσία</term>
      <listitem>
       <para>Πρόκειται για τη θέση του σημείου διακοπής εντός του αρχείου πηγαίου κώδικα. Όταν το σημείο διακοπής ορίζεται από το πρόσθετο εκσφαλμάτωσης μπορείτε να λάβετε επιπλέον πληροφορίες, όπως το ποια συνάρτηση περιέχει το σημείο διακοπής.</para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term>Διεύθυνση</term>
      <listitem>
       <para>Αυτό το πεδίο συμπληρώνεται με τη διεύθυνση του σημείου διακοπής όταν ορίζεται από το πρόγραμμα εκσφαλμάτωσης.</para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term>Τύπος</term>
      <listitem>
       <para>Είναι πάντα "σημείο διακοπής". Σε μελλοντική έκδοση του Anjuta θα υποστηρίζει διαφορετικούς τύπους σημείων διακοπής.</para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term>Συνθήκη</term>
      <listitem>
       <para>Είναι η συνθήκη του σημείου διακοπής. Παραμένει κενή αν δεν έχει οριστεί κάποια συνθήκη.</para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term>Αριθμός περασμάτων</term>
      <listitem>
       <para>Όταν δεν εκτελείται το πρόσθετο εκσφαλμάτωσης, σε αυτή τη στήλη εμφανίζεται ο αριθμός περασμάτων του σημείου διακοπής, ή το μηδέν, αν δεν έχει οριστεί αριθμός.</para>
       <para>Όταν εκτελείται το πρόσθετο εκσφαλμάτωσης, αν ο αριθμός περασμάτων είναι μηδέν, σε αυτή τη στήλη εμφανίζεται ο αριθμός των φορών που έχει ενεργοποιηθεί το σημείο διακοπής. Αν ο αριθμός περασμάτων δεν είναι μηδέν, εμφανίζονται και οι δύο αριθμοί, με τον αριθμό περασμάτων στη δεύτερη θέση.</para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term>Κατάσταση</term>
      <listitem>
       <para>Είναι η κατάσταση του σημείου διακοπής: Μπορεί να είναι: <itemizedlist>
         <listitem><para>Σε αναμονή: Δεν έχει οριστεί η θέση του σημείου διακοπής στο πρόγραμμά σας.</para></listitem>
         <listitem><para>Μόνιμο: έχει οριστεί η θέση του σημείου διακοπής (ο αριθμός του εμφανίζεται εντός παρενθέσεων).</para></listitem>
         <listitem><para>Προσωρινό: έχει οριστεί η θέση του σημείου διακοπής, αλλά θα διαγραφεί, όταν θα φτάσει σε αυτό το πρόσθετο εκσφαλμάτωσης.</para></listitem>
        </itemizedlist></para>
      </listitem>
     </varlistentry>
    </variablelist></para>
   <note>
    <para>Όλα τα σημεία διακοπής διατηρούνται και στις επόμενες συνεδρίες του Anjuta, ακόμη και αν αντιστοιχούν σε ανύπαρκτη τοποθεσία. Στην περίπτωση αυτή η κατάστασή τους ορίζεται ως 'Σε αναμονή'. Η διεπαφή ελέγχει την κατάσταση των σημείων διακοπής κάθε φορά που εκκινείται το πρόγραμμα ή φορτώνεται νέα δυναμική βιβλιοθήκη.</para>
   </note>
  </sect2>  

  <sect2 id="breaks-set">
   <title>Προσθήκη ή ορισμός σημείων διακοπής</title>
   <para>Επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guimenuitem>Προσθήκη σημείου διακοπής...</guimenuitem></menuchoice> ή κάντε δεξί κλικ στη λίστα σημείων διακοπής και επιλέξτε <menuchoice><guimenuitem>Προσθήκη σημείου διακοπής...</guimenuitem></menuchoice> για να εμφανίσετε το διάλογο <interface>προσθήκης σημείου διακοπής</interface>.</para>
   <para>
    <figure>
      <title>Διάλογος προσθήκης σημείου διακοπής</title>
      <screenshot>
	   <screeninfo>Διάλογος προσθήκης σημείου διακοπής</screeninfo>
       <graphic fileref="figures/brk_add.png" format="PNG" srccredit="mkv"/>
      </screenshot>
    </figure>
   </para>
   <para>Εισάγετε την τοποθεσία και, προαιρετικά, τη συνθήκη διακοπής και τον αριθμό περασμάτων· στη συνέχεια, πατήστε <guibutton>Εντάξει</guibutton> για να ορίσετε το σημείο διακοπής. <variablelist>
     <varlistentry>
      <term>Τοποθεσία</term>
      <listitem>
       <para>Εισάγετε την τοποθεσία για την οποία θα οριστεί σημείο διακοπής. Μπορείτε να χρησιμοποιήσετε τις ακόλουθες μορφές:</para>
       <para>
        <orderedlist>
         <listitem><para>Όνομα_αρχείου:Αριθμός_γραμμής</para></listitem>
         <listitem><para>Όνομα_συνάρτησης</para></listitem>
         <listitem><para>Αρχείο:Όνομα_συνάρτησης</para></listitem>
        </orderedlist>
       </para>
       <para>Η πρώτη μορφή είναι προφανής — η τοποθεσία ορίζεται με βάση τον αριθμό γραμμής <emphasis>Αριθμός_γραμμής</emphasis> στο αρχείο πηγαίου κώδικα <emphasis>Όνομα_αρχείου</emphasis>. Η δεύτερη μορφή αντιστοιχεί στην πρώτη γραμμή της συνάρτησης <emphasis>Όνομα_συνάρτησης</emphasis>. Η τρίτη είναι παρόμοια με τη δεύτερη, με τη διαφορά ότι αυτή χρησιμοποιείται όταν υπάρχουν περισσότερες συναρτήσεις με το όνομα <emphasis>Όνομα_συνάρτησης</emphasis> στο πρόγραμμα, οπότε χρησιμοποιείτε το <emphasis>Αρχείο</emphasis> για να δείξει ότι πρόκειται για τη συνάρτηση <emphasis>Όνομα_συνάρτησης</emphasis> στο αρχείο <emphasis>Αρχείο</emphasis>.</para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term>Συνθήκη</term>
      <listitem>
       <para>Η παράμετρος <emphasis>Συνθήκη</emphasis> περιέχει μία έκφραση με τιμή Boolean — δηλαδή, η αποτίμηση της έκφρασης δίνει αποτέλεσμα TRUE(1) ή FALSE(0). Αν η τελική τιμή δεν είναι τύπου Boolean, ο τύπος της μετατρέπεται σε Boolean (type cast).</para>
       <para>Κάθε φορά που θα συναντάται το σημείο διακοπής κατά την εκτέλεση του προγράμματος, θα αποτιμάται η συνθήκη διακοπής. Το πρόσθετο εκσφαλμάτωσης θα διακόπτει την εκτέλεση του προγράμματος μόνο αν προκύπτει τιμή TRUE, ενώ, στην αντίθετη περίπτωση, η εκτέλεση θα συνεχίζεται σαν να μην υπήρχε το σημείο διακοπής.</para>
       <para>Η προεπιλεγμένη τιμή της <emphasis>συνθήκης</emphasis>, αν αφήσετε το πεδίο κενό, είναι TRUE. Σε αυτή την περίπτωση το πρόσθετο εκσφαλμάτωσης διακόπτει την εκσφαλμάτωση στο σημείο διακοπής.</para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term>Αριθμός περασμάτων</term>
      <listitem>
       <para>Ο <emphasis>αριθμός περασμάτων</emphasis> είναι μια ακέραια τιμή (χωρίς πρόσημο) που πληροφορεί το πρόσθετο εκσφαλμάτωσης ότι θα πρέπει να παραλείψει το σημείο διακοπής συγκεκριμένο αριθμό φορών, πριν το εξετάσει. Ο <emphasis>αριθμός περασμάτων</emphasis> διαθέτει μεγαλύτερη προτεραιότητα από τη <emphasis>συνθήκη διακοπής</emphasis>. Το πρόσθετο εκσφαλμάτωσης αποτιμά τη <emphasis>συνθήκη διακοπής</emphasis> μόνο αφού ο <emphasis>αριθμός περασμάτων</emphasis> γίνει μηδέν (αν υφίσταται συνθήκη διακοπής). Αν δεν υπάρχει συνθήκη, το πρόσθετο εκσφαλμάτωσης διακόπτει την εκτέλεση μόλις ο <emphasis>αριθμός περασμάτων</emphasis> γίνει μηδέον.</para>
       <para>Η προεπιλεγμένη τιμή για τον <emphasis>αριθμό περασμάτων</emphasis>, αν το πεδίο παραμείνει κενό, είναι μηδέν. Το σημείο διακοπής εξετάζεται την πρώτη φορά που συναντάται.</para>
      </listitem>
     </varlistentry>
    </variablelist></para>
   <para>Μπορείτε να ορίσετε σημείο διακοπής και αν επιλέξετε μια γραμμή στον επεξεργαστή και επιλέξετε <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guimenuitem>Εναλλαγή σημείου διακοπής</guimenuitem></menuchoice> από τη γραμμή μενού ή <menuchoice><guimenuitem>Εναλλαγή σημείου διακοπής</guimenuitem></menuchoice> από το σχετικό μενού του επεξεργαστή· επίσης, αν επιλέξετε το εικονίδιο <guibutton>Εναλλαγή σημείου διακοπής</guibutton> από την <interface>εργαλειοθήκη εκσφαλμάτωσης</interface>.</para>
   <tip>
    <para>Μπορείτε να ορίσετε τα σημεία διακοπής πριν την εκκίνηση του προσθέτου εκσφαλμάτωσης, ή σε δυναμική βιβλιοθήκη που δεν έχει φορτωθεί ακόμη. Δεν μπορείτε να προσθέτετε σημεία διακοπής ενώ το πρόγραμμα εκτελείται υπό τον έλεγχο του προσθέτου εκσφαλμάτωσης.</para>
   </tip>
  </sect2>
  
  <sect2 id="breaks-edit">
   <title>Επεξεργασία σημείων διακοπής</title>
   <para>Μπορείτε να αλλάζετε τη συνθήκη και τον αριθμό περασμάτων επιλέγοντας το σημείο διακοπής από τη λίστα σημείων διακοπής, κάνοντας δεξί κλικ και επιλέγοντας <menuchoice><guimenuitem>Επεξεργασία σημείου διακοπής</guimenuitem></menuchoice> από το σχετικό μενού.</para>
   <para>Κάντε τις αλλαγές που επιθυμείτε και πατήστε <guibutton>Εντάξει</guibutton> για να τις εφαρμόσετε.</para>
  </sect2>

  <sect2 id="breaks-del">
   <title>Διαγραφή σημείων διακοπής</title>
   <para>Επιλέξτε το σημείο διακοπής από την προβολή λίστας σημείων διακοπής και κάντε κλικ στο <menuchoice><guimenuitem>Αφαίρεση σημείου διακοπής</guimenuitem></menuchoice> για να το διαγράψετε.</para>
   <para>Μπορείτε να διαγράψετε υπάρχον σημείο διακοπής και αν επιλέξετε τη γραμμή του στον επεξεργαστή και επιλέξετε <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guimenuitem>Εναλλαγή σημείου διακοπής</guimenuitem></menuchoice> από τη γραμμή μενού ή <menuchoice><guimenuitem>Εναλλαγή σημείου διακοπής</guimenuitem></menuchoice> από το σχετικό μενού του επεξεργαστή· επίσης, αν επιλέξετε το εικονίδιο <guibutton>Εναλλαγή σημείου διακοπής</guibutton> από την <interface>εργαλειοθήκη εκσφαλμάτωσης</interface>.</para>
   <para>Μπορείτε να διαγράψετε όλα τα σημεία διακοπής επιλέγοντας <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guimenuitem>Αφαίρεση όλων των σημείων διακοπής</guimenuitem></menuchoice> από τη γραμμή μενού ή<menuchoice><guimenuitem>Αφαίρεση όλων των σημείων διακοπής</guimenuitem></menuchoice> από το σχετικό μενού της λίστας σημείων διακοπής.</para>
  </sect2>

  <sect2 id="breaks-enbdis">
   <title>Ενεργοποίηση ή απενεργοποίηση σημείων διακοπής</title>
   <para>Κάντε κλικ στη στήλη Ενεργοποίηση του <interface>παραθύρου λίστα σημείων διακοπής</interface> ή επιλέξτε <menuchoice><guimenuitem>Ενεργοποίηση σημείου διακοπής</guimenuitem></menuchoice> από το σχετικό μενού για να ενεργοποιήσετε ή να απενεργοποιήσετε ένα επιλεγμένο σημείο διακοπής.</para>
   <para>Για να απενεργοποιήσετε όλα τα σημεία διακοπής, επιλέξτε <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guimenuitem>Απενεργοποίηση όλων των σημείων διακοπής</guimenuitem></menuchoice> από τη γραμμή μενού ή<menuchoice><guimenuitem>Απενεργοποίηση όλων των σημείων διακοπής</guimenuitem></menuchoice> από το σχετικό μενού της λίστας σημείων διακοπής.</para>
  </sect2>
 </sect1>

<!-- ============= Debugging: Expressions ====================== -->
 <sect1 id="debugging-expr">
  <title>Εκφράσεις</title>

  <sect2 id="var-local">
   <title>Λίστα τοπικών μεταβλητών</title>
   <para>Όταν ένα πρόγραμμα εκτελείται υπό τον έλεγχο του προσθέτου εκσφαλμάτωσης, μπορείτε να ανοίξετε το <interface>παράθυρο λίστας τοπικών παραμέτρων</interface> επιλέγοντας <menuchoice><guisubmenu>Προβολή</guisubmenu><guimenuitem>Τοπικές</guimenuitem></menuchoice>.</para>
   <para>Οι τοπικές μεταβλητές του τρέχοντος πλαισίου (της τρέχουσας μεταβλητής όπου βρίσκεται ο έλεγχος του προγράμματος) εμφανίζονται στο <interface>Παράθυρο τοπικών</interface>. Κατά την εκτέλεση του προγράμματος (π.χ. σε μεμονωμένα βήματα), ενημερώνονται οι τοπικές μεταβλητές. Αν η τιμή μιας μεταβλητής αλλάξει κατά το τελευταίο βήμα εκσφαλμάτωσης, η τιμή της επισημαίνεται με κόκκινο χρώμα. Οι μεταβλητές προβάλλονται σε μορφή δέντρου, για μεγαλύτερη ευκολία στην παρακολούθηση. <figure>
      <title>Τοπικές μεταβλητές</title>
      <screenshot>
	  <screeninfo>Τοπικές μεταβλητές</screeninfo>
       <graphic fileref="figures/local_variables.png" format="PNG" srccredit="naba"/>
      </screenshot>
    </figure></para>
   <para>Μπορείτε να τροποποιήσετε την τιμή μιας τοπικής μεταβλητής επιλέγοντάς την και κάνοντας κλικ στη στήλη <guilabel>Τιμή</guilabel>.</para>
   <note>
    <para>Το <application>gdb</application> χρησιμοποιείται όλο και πιο συχνά ως σύστημα υποστήριξης σε γραφικές διεπαφές. Έχει υποστεί αρκετές βελτιώσεις στον τομέα αυτό τον τελευταίο καιρό. Συνιστάται η χρήση της τελευταίας έκδοσης (6.6) του gdb. Οι παλαιότερες εκδόσεις ενδέχεται να καταρρεύσουν αν η γραφική διεπαφή ζητήσει ένα δείκτη (pointer) με μη έγκυρη (αλλά και μη χρησιμοποιούμενη) τιμή.</para>
   </note>
  </sect2>

  <sect2 id="var-watch">
   <title>Λίστα παρακολουθούμενων εκφράσεων</title>
   <para>Η επιθεώρηση ή η αποτίμηση μιας έκφρασης παρέχουν το αποτέλεσμα μόνο μία φορά. Για να μπορείτε να παρακολουθείτε συνεχώς ορισμένες μεταβλητές ή εκφράσεις, χρησιμοποιήστε την <emphasis>παρακολούθηση εκφράσεων</emphasis>.</para>
   <para>Επιλέξτε το στοιχείο μενού <menuchoice><guisubmenu>Προβολή</guisubmenu><guimenuitem>Παρακολούθηση</guimenuitem></menuchoice> για να εμφανίσετε το <interface>παράθυρο παρακολούθησης</interface>.</para>
  </sect2>

  <sect2 id="watch-add">
   <title>Προσθήκη έκφρασης για παρακολούθηση</title>
   <para>Κάντε δεξί κλικ στο <interface>παράθυρο παρακολούθησης</interface> για να ανοίξετε το σχετικό μενού και επιλέξτε <guimenuitem>Προσθήκη παρακολούθησης...</guimenuitem>. Εναλλακτικά, επιλέξτε <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guimenuitem>Προσθήκη παρακολούθησης...</guimenuitem></menuchoice> από τη γραμμή μενού. Θα εμφανιστεί ένας διάλογος στον οποίο θα πρέπει να εισάγετε την έκφραση και να πατήσετε <guibutton>Εντάξει</guibutton>.</para>
   <para>Η προεπιλογή είναι να ενημερώνονται αυτόματα οι παρακολουθούμενες εκφράσεις κάθε φορά που διακόπτεται το πρόγραμμα. Αυτό όμως μπορεί να αλλάξει από το διάλογο Προσθήκης παρακολούθησης, ή αργότερα, από το στοιχείο μενού <guimenuitem>Αυτόματη ενημέρωση</guimenuitem> του σχετικού μενού του <interface>παραθύρου παρακολούθησης</interface>. Μία παρακολουθούμενη έκφραση μπορεί να ενημερωθεί με το χέρι αν επιλέξετε <guimenuitem>Ενημέρωση παρακολούθησης</guimenuitem> ή <interface>Ενημέρωση όλων</interface> από το σχετικό μενού.</para>
   <para>Δεν είναι απαραίτητο να εκτελείται το πρόσθετο εκσφαλμάτωσης για να προστεθεί μια νέα παρακολουθούμενη έκφραση. Αν δεν εκτελείται, ή αν δεν μπορεί να βρεθεί η έκφραση, η διεπαφή θα προσπαθεί να δημιουργήσει την παρακολουθούμενη έκφραση κάθε φορά που διακόπτεται το πρόγραμμα.</para>
  </sect2>

  <sect2 id="watch-remove">
   <title>Αφαίρεση παρακολουθούμενης έκφρασης</title>
   <para>Στο <interface>παράθυρο παρακολούθησης</interface>, κάντε δεξί κλικ στην παρακολουθούμενη έκφραση που επιθυμείτε να αφαιρέσετε και επιλέξτε <guimenuitem>Αφαίρεση</guimenuitem> για να την αφαιρέσετε.</para>
   <para>Μπορείτε να αφαιρέσετε όλες της παρακολουθούμενες εκφράσεις επιλέγοντας <guimenuitem>Αφαίρεση όλων</guimenuitem> από το σχετικό μενού του <interface>παραθύρου παρακολούθησης</interface>.</para>
  </sect2>

  <sect2 id="expr-eval">
   <title>Αποτίμηση εκφράσεων</title>
   <para>Όταν ο έλεγχος επιστρέφεται από το πρόγραμμα — π.χ. σε ένα σημείο διακοπής — μπορείτε να αποτιμήσετε εκφράσεις ή να επιθεωρήσετε τις τιμές των μεταβλητών του προγράμματος. Επιλέξτε <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guimenuitem>Επιθεώρηση/Αποτίμηση ...</guimenuitem></menuchoice> από τη γραμμή μενού, <menuchoice><guimenuitem>Επιθεώρηση/Αποτίμηση ...</guimenuitem></menuchoice> από το σχετικό μενού του επεξεργαστή, ή πατήστε το κουμπί <guibutton>Επιθεώρηση</guibutton> της <interface>εργαλειοθήκης εκσφαλμάτωσης</interface>.</para>
   <para>Θα εμφανιστεί ένα παράθυρο όπου η αποτίμηση της έκφρασης θα έχει επισημανθεί στον επεξεργαστή. Μπορείτε να αποτιμήσετε μια νέα έκφραση κάνοντας κλικ στη στήλη <guilabel>όνομα</guilabel> και εισάγοντας νέο όνομα.</para>
   <para>Μπορείτε να προσθέσετε απευθείας την έκφραση στη λίστα παρακολουθούμενων εκφράσεων, πατώντας το κουμπί <guibutton>Προσθήκη</guibutton>.</para>
  </sect2>

  <sect2 id="expr-hiver">
   <title>Επιθεώρηση εκφράσεων στο παράθυρο επεξεργαστή</title>
   <para>Όταν το πρόσθετο εκσφαλμάτωσης είναι ενεργοποιημένο, αλλά το πρόγραμμα έχει διακοπεί, μπορείτε να δείτε την τιμή μιας έκφρασης απλά κρατώντας το δείκτη του ποντικιού πάνω της για σύντομο χρονικό διάστημα. Αν η έκφραση συμπεριλαμβάνεται ήδη στο παράθυρο <interface>Τοπικές</interface> ή <interface>Παρακολούθηση</interface>, η τιμή εμφανίζεται με μορφή συμβουλής οθόνης.</para>
   <para>Προς το παρόν, αυτή η δυνατότητα αφορά μόνο απλές μεταβλητές, όχι δομές και πίνακες.</para>
  </sect2>

 </sect1>

<!-- ============= Debugging: Program Stack ====================== -->
 <sect1 id="debugging-stack">
  <title>Παρακολούθηση στοίβας</title>

  <sect2 id="stack-win">
   <title>Παράθυρο στοίβας</title>
   <para>Το <interface>παράθυρο παρακολούθησης στοίβας</interface> προβάλλει τα περιεχόμενα της στοίβας του προγράμματος. Περιέχει όλες τις συναρτήσεις και τα ορίσματά τους, με σειρά με την οποία καλούνται. Παράλληλα, κάθε κλήση αντιστοιχεί σε έναν αριθμό, ο οποίος ονομάζεται <emphasis>πλαίσιο</emphasis>. Κάθε κλήση στη στοίβα εξελίσσεται σε διαφορετικό πλαίσιο. Η αρίθμηση ξεκινάει από το πλαίσιο 0 (την τελευταία συνάρτηση που είχε κληθεί) και αυξάνεται όσο αυξάνεται το επίπεδο εμφώλευσης των συναρτήσεων.</para>
   <para>Επιλέξτε <menuchoice><guisubmenu>Προβολή</guisubmenu><guimenuitem>Στοίβα</guimenuitem></menuchoice> από τη γραμμή μενού, για να ανοίξετε την παρακολούθηση στοίβας για το πρόγραμμα που υφίσταται εκσφαλμάτωση.</para>
   <para>
    <figure>
      <title>Παράθυρο παρακολούθησης στοίβας</title>
      <screenshot>
	   <screeninfo>Παράθυρο παρακολούθησης στοίβας</screeninfo>
       <graphic fileref="figures/stack.png" format="PNG" srccredit="andyp"/>
      </screenshot>
    </figure>
   </para>
   <para>Ένα βέλος δείχνει το επιλεγμένο πλαίσιο της στοίβας. Η προεπιλογή είναι το πλαίσιο 0, δηλαδή η τελευταία συνάρτηση που είχε κληθεί. Κάθε αποτίμηση ή επιθεώρηση εκφράσεων και μεταβλητών αναφέρεται σε αυτό το επιλεγμένο πλαίσιο. Το πεδίο των μεταβλητών ή εκφράσεων που αποτιμούνται περιορίζεται στο επιλεγμένο πλαίσιο. Το ίδιο ισχύει και για τις νέες εκφράσεις που απλά βρίσκονται υπό παρακολούθηση.</para>
  </sect2>
  
  <sect2 id="stack-frame">
   <title>Ορισμός τρέχοντος πλαισίου</title>
   <para>Με δεξί κλικ σε οποιοδήποτε πλαίσιο της στοίβας επιλέγετε αυτό το πλαίσιο ως τρέχον. Πλέον, το βέλος δείχνει αυτό το πλαίσιο, ως ένδειξη ότι αυτό είναι το τρέχον επιλεγμένο πλαίσιο. Εναλλακτικά, μπορείτε να ανοίξετε το σχετικό μενού με δεξί κλικ στο <interface>παράθυρο παρακολούθησης στοίβας</interface> και να επιλέξετε <guimenuitem>Ορισμός τρέχοντος πλαισίου</guimenuitem> για να ορίσετε το πλαίσιο.</para>
   <para>Όταν αλλάζει το πλαίσιο της στοίβας αλλάζει και το <interface>παράθυρο τοπικών μεταβλητών</interface>, αλλά όχι και το <interface>παράθυρο παρακολούθησης</interface>, καθώς οι εκφράσεις αποτιμούνται με βάση το πλαίσιο που ήταν επιλεγμένο κατά τον ορισμό τους.</para>
  </sect2>
 </sect1>

<!-- ============= Debugging: Program Thread ====================== -->
 <sect1 id="debugging-thread">
  <title>Νήμα</title>

  <sect2 id="thread-win">
   <title>Παράθυρο νημάτων</title>
   <para>Το <interface>παράθυρο νημάτων</interface> προβάλλει όλα τα νήματα που χρησιμοποιεί το πρόγραμμα και δείχνει ποιο είναι το τρέχον νήμα. Επιλέξτε <menuchoice><guisubmenu>Προβολή</guisubmenu><guimenuitem>Νήμα</guimenuitem></menuchoice> από το μενού, για να ανοίξετε αυτό το παράθυρο.</para>
   <para>Ένα βέλος δείχνει το τρέχον νήμα. Όταν διακόπτεται το πρόγραμμα, το τρέχον νήμα είναι το νήμα που διακόπηκε. Κάθε νήμα έχει το δικό του πλαίσιο στοίβας, άρα, όταν αλλάζει το τρέχον νήμα, αλλάζει και το τρέχον πλαίσιο στοίβας.</para>
  </sect2>

  <sect2 id="set-thread">
   <title>Ορισμός τρέχοντος νήματος</title>
   <para>Με δεξί κλικ σε οποιοδήποτε νήμα της λίστας επιλέγετε αυτό το νήμα ως τρέχον. Πλέον, το βέλος δείχνει αυτό το νήμα, ως ένδειξη ότι αυτό είναι το τρέχον επιλεγμένο νήμα. Εναλλακτικά, μπορείτε να ανοίξετε το σχετικό μενού με δεξί κλικ στο <interface>παράθυρο λίστας νημάτων</interface> και να επιλέξετε <guimenuitem>Ορισμός τρέχοντος νήματος</guimenuitem> για να ορίσετε το νήμα.</para>
   <para>Όταν αλλάζει το νήμα, αλλάζει η τιμή των καταχωρητών της CPU, καθώς και το τρέχον πλαίσιο στοίβας, επομένως αλλάζει και το <interface>παράθυρο τοπικών μεταβλητών</interface>.</para>
  </sect2>
 </sect1>

<!-- ============= Debugging: CPU ====================== -->
 <sect1 id="debugging-cpu">
  <title>CPU</title>

  <sect2 id="cpu-regs">
   <title>Παράθυρο καταχωρητών</title>
   <para>Μπορείτε να εξετάζετε τα περιεχόμενα των εσωτερικών καταχωρητών της CPU (μικροεπεξεργαστή). Επιλέξτε <menuchoice><guisubmenu>Προβολή</guisubmenu><guimenuitem>Καταχωρητές</guimenuitem></menuchoice> από τη γραμμή μενού. Θα εμφανιστεί ένα παράθυρο με όλους τους διαθέσιμους καταχωρητές του μικροεπεξεργαστή και τα περιεχόμενά τους.</para>
   <para>Αν η τιμή ενός καταχωρητή είχε αλλάξει κατά το τελευταίο βήμα εκσφαλμάτωσης, η τιμή αυτή επισημαίνεται με κόκκινο χρώμα. Μπορείτε να αλλάξετε την τιμή ενός καταχωρητή, επιλέγοντας τον καταχωρητή και κάνοντας κλικ στη στήλη <guilabel>τιμή</guilabel>.</para>
  </sect2>

  <sect2 id="cpu-memory">
   <title>Παράθυρο μνήμης</title>
   <para>Επιλέξτε <menuchoice><guisubmenu>Προβολή</guisubmenu><guimenuitem>Μνήμη</guimenuitem></menuchoice> για να αλλάξετε το <interface>παράθυρο μνήμης</interface> για το πρόγραμμα υπό εκσφαλμάτωση. Το παράθυρο εμφανίζει τα περιεχόμενα όλης της μνήμης.</para>
   <para>Η πρώτη στήλη περιέχει τις διευθύνσεις μνήμης σε δεκαεξαδική μορφή, η δεύτερη στήλη περιέχει το περιεχόμενο της μνήμης σε δεκαεξαδική μορφή, και η τελευταία στήλη περιέχει τα περιεχόμενα της μνήμης σε ASCII.</para>
   <para>Ο χώρος που καταλαμβάνεται από τις διευθύνσεις μνήμης είναι αρκετά μεγάλος, ακόμη και σε μικροεπεξεργαστές 32-bit (4 Gb), επομένως είναι σχεδόν αδύνατη η μετάβαση σε συγκεκριμένη διεύθυνση χρησιμοποιώντας τη γραμμή κύλισης. Μπορείτε όμως να κάνετε δεξί κλικ και να επιλέξετε <menuchoice><guimenuitem>Μετάβαση στη διεύθυνση</guimenuitem></menuchoice> από το σχετικό μενού· στο πλαίσιο που εμφανίζεται, εισάγετε τη ζητούμενη διεύθυνση σε δεκαεξαδική μορφή.</para>
  </sect2>

  <sect2 id="cpu-disassembly">
   <title>Παράθυρο μεταγλώττισης από κώδικα μηχανής</title>
   <para>Επιλέξτε <menuchoice><guisubmenu>Προβολή</guisubmenu><guimenuitem>Μεταγλώττιση από κώδικα μηχανής</guimenuitem></menuchoice> από τη γραμμή μενού, για να ανοίξετε το <interface>παράθυρο μεταγλώττισης από κώδικα μηχανής</interface> για το πρόγραμμα υπό εκσφαλμάτωση.</para>
   <para>Η πρώτη στήλη περιέχει τις διευθύνσεις σε δεκαεξαδική μορφή, η δεύτερη στήλη μπορεί να περιέχει μια ετικέτα που ξεκινάει στην αρχή της γραμμής και τελειώνει σε άνω κάτω τελεία (:) ή μία εντολή assembly με εσοχές αποτελούμενες από 4 χαρακτήρες διαστημάτων.</para>
   <para>Και εδώ, επειδή ο χώρος που καταλαμβάνεται από τις διευθύνσεις μνήμης είναι μεγάλος, η γραμμή κύλισης είναι σχεδόν άχρηστη. Μπορείτε όμως να κάνετε δεξί κλικ και να επιλέξετε <menuchoice><guimenuitem>Μετάβαση στη διεύθυνση</guimenuitem></menuchoice> από το σχετικό μενού· στο πλαίσιο που εμφανίζεται, εισάγετε τη ζητούμενη διεύθυνση σε δεκαεξαδική μορφή. Όταν διακόπτεται το πρόγραμμα, η θέση του παραθύρου αλλάζει ώστε να αντιστοιχεί στην τιμή του μετρητή του προγράμματος.</para>
  </sect2>
 </sect1>

<!-- Debugger: Others-->
 <sect1 id="debugger-others">
  <title>Άλλες λειτουργίες</title>

  <para>Υπάρχουν ορισμένες ακόμη λειτουργίες του προσθέτου εκσφαλμάτωσης, που δεν χρησιμοποιούνται τόσο συχνά και που δεν έχουν ενσωματωθεί πλήρως στη νέα γραφική διεπαφή, αλλά που όμως μπορείτε να χρησιμοποιήσετε.</para>

  <sect2 id="dbg-dyna-libs">
   <title>Δυναμικές βιβλιοθήκες</title>
   <para>Για να λάβετε μια λίστα των δυναμικών βιβλιοθηκών ενός προγράμματος, επιλέξτε <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guisubmenu>Πληροφορίες</guisubmenu><guimenuitem>Κοινόχρηστες βιβλιοθήκες</guimenuitem></menuchoice> από τη γραμμή μενού. Θα εμφανιστεί ένα παράθυρο που θα περιέχει όλες τις κοινόχρηστες βιβλιοθήκες που έχει φορτώσει το πρόγραμμα, μαζί με τις τοποθεσίες τους στη μνήμη. Επίσης, το παράθυρο θα αναγράφει αν έχει φορτωθεί ο πίνακας συμβόλων κάθε βιβλιοθήκης (Ναι/Όχι).</para>
   <para>
    <figure>
      <title>Παράθυρο κοινόχρηστων βιβλιοθηκών</title>
      <screenshot>
	   <screeninfo>Παράθυρο κοινόχρηστων βιβλιοθηκών</screeninfo>
       <graphic fileref="figures/sharedlibs.png" format="PNG" srccredit="andyp"/>
      </screenshot>
    </figure>
   </para>
  </sect2>

  <sect2 id="dbg-signal">
   <title>Σήματα πυρήνα</title>
   <para>Τα σήματα πυρήνα είναι ένας τρόπος ανταλλαγής σημάτων μεταξύ διεργασιών στο Linux. Για να δείτε τη λίστα διαθέσιμων σημάτων ενός προγράμματος, επιλέξτε <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guisubmenu>Πληροφορίες</guisubmenu><guimenuitem>Σήματα πυρήνα</guimenuitem></menuchoice> από τη γραμμή μενού. Θα εμφανιστεί ένα παράθυρο που θα περιέχει όλα τα διαθέσιμα σήματα του συστήματος, μαζί με σύντομες περιγραφές τους.</para>
   <para>
    <figure>
      <title>Παράθυρο σημάτων πυρήνα</title>
      <screenshot>
	   <screeninfo>Παράθυρο σημάτων πυρήνα</screeninfo>
       <graphic fileref="figures/signals.png" format="PNG" srccredit="andyp"/>
      </screenshot>
    </figure>
   </para>
   <para>Υπάρχουν τρεις στήλες που περιγράφουν τι πρέπει να γίνει όταν λαμβάνεται ένα σήμα:</para>
   
   <orderedlist>
    <listitem>
     <para><emphasis>Διακοπή</emphasis> — καθορίζει αν η εκσφαλμάτωση θα σταματήσει την εκτέλεση του προγράμματος (και θα επιστρέψει τον έλεγχο), όταν το πρόγραμμα λάβει το σήμα αυτό.</para>
    </listitem>
    <listitem>
     <para><emphasis>Εκτύπωση</emphasis> — καθορίζει αν η εκσφαλμάτωση θα εμφανίσει το σήμα που ελήφθη.</para>
    </listitem>
    <listitem>
     <para><emphasis>Συνέχιση</emphasis> — καθορίζει αν η εκσφαλμάτωση θα περάσει το σήμα στο πρόγραμμα.</para>
    </listitem>
   </orderedlist>
   <note>
    <para>Τα στοιχεία του σχετικού μενού που εμφανίζεται με δεξί κλικ είναι όλα απενεργοποιημένα γιατί δεν έχουν υλοποιηθεί ακόμη οι αντίστοιχες λειτουργίες.</para>
   </note>
  </sect2>

  <sect2 id="dbg-files">
   <title>Πληροφορίες για τα χρησιμοποιούμενα αρχεία</title>
   <para>Μπορείτε να λάβετε ορισμένες πληροφορίες για τα αρχεία που χρησιμοποιούνται από το πρόγραμμα υπό εκσφαλμάτωση, επιλέγοντας <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guisubmenu>Πληροφορίες</guisubmenu><guimenuitem>Αρχεία στόχοι</guimenuitem></menuchoice>. Εμφανίζεται ένα παράθυρο που περιέχει τις σχετικές πληροφορίες.</para>
  </sect2>

  <sect2 id="dbg-program">
   <title>Πληροφορίες για το πρόγραμμα υπό εκσφαλμάτωση</title>
   <para>Μπορείτε να λάβετε ορισμένες πληροφορίες για το πρόγραμμα υπό εκσφαλμάτωση, επιλέγοντας <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guisubmenu>Πληροφορίες</guisubmenu><guimenuitem>Πρόγραμμα</guimenuitem></menuchoice>. Εμφανίζεται ένα παράθυρο που περιέχει τις σχετικές πληροφορίες.</para>
  </sect2>
 
  <sect2 id="dbg-kernel">
   <title>Πληροφορίες για τη δομή πυρήνα</title>
   <para>Μπορείτε να λάβετε ορισμένες πληροφορίες για τα δεδομένα πυρήνα της τρέχουσας διεργασίας, επιλέγοντας <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guisubmenu>Πληροφορίες</guisubmenu><guimenuitem>Δομή πυρήνα</guimenuitem></menuchoice>. Εμφανίζεται ένα παράθυρο που περιέχει τις σχετικές πληροφορίες.</para>
  </sect2>

  <sect2 id="var-global">
   <title>Πληροφορίες για τις καθολικές μεταβλητές</title>
   <para>Μπορείτε να εμφανίσετε λίστα με όλες τις καθολικές μεταβλητές, επιλέγοντας <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guisubmenu>Πληροφορίες</guisubmenu><guimenuitem>Καθολικές μεταβλητές</guimenuitem></menuchoice>. Εμφανίζεται ένα παράθυρο που περιέχει τις σχετικές πληροφορίες.</para>
  </sect2>

  <sect2 id="stack-frame-info">
   <title>Πληροφορίες για το τρέχον πλαίσιο</title>
   <para>Μπορείτε να λάβετε πληροφορίες για το τρέχον πλαίσιο, επιλέγοντας <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guisubmenu>Πληροφορίες</guisubmenu><guimenuitem>Τρέχον πλαίσιο</guimenuitem></menuchoice>. Εμφανίζεται ένα παράθυρο που περιγράφει το τρέχον πλαίσιο.</para>
  </sect2>

  <sect2 id="stack-arg-info">
   <title>Πληροφορίες για τα ορίσματα της τρέχουσας συνάρτησης</title>
   <para>Μπορείτε να λάβετε πληροφορίες για τα ορίσματα της τρέχουσας συνάρτησης, επιλέγοντας <menuchoice><guisubmenu>Εκσφαλμάτωση</guisubmenu><guisubmenu>Πληροφορίες</guisubmenu><guimenuitem>Ορίσματα</guimenuitem></menuchoice>. Εμφανίζεται ένα παράθυρο που περιγράφει τα ορίσματα.</para>
  </sect2>
  
  <sect2 id="dbg-command">
   <title>Εντολή χρήστη</title>
   <para>Για να στείλετε μια εντολή απευθείας στο σύστημα υποστήριξης, επιλέξτε <menuchoice><guimenu>Εκσφαλμάτωση</guimenu><guimenuitem>Εντολή εκσφαλμάτωσης</guimenuitem></menuchoice>. Θα εμφανιστεί ένας διάλογος, από όπου μπορείτε να εισάγετε τις εντολές που θα αποσταλούν στο πρόσθετο εκσφαλμάτωσης, όταν πατήσετε <keycap>Επιστροφή</keycap>.</para>
   <note>
    <para>Η γραφική διεπαφή στέλνει την εντολή απευθείας στο σύστημα υποστήριξης, χωρίς να κάνει κανέναν έλεγχο. Για παράδειγμα, αν ορίσετε ένα σημείο διακοπής κατ' αυτόν τον τρόπο, δεν θα εμφανιστεί στο <interface>παράθυρο λίστας σημείων διακοπής</interface>. Καλό είναι να αποφεύγετε τη χρήση αυτής της εντολής, εκτός αν γνωρίζετε πολύ καλά τι κάνετε.</para>
   </note>
  </sect2>
 </sect1> 

 </chapter>

 <!-- Glade Interface Designer -->
 <chapter id="glade">
	<title>Εργαλείο σχεδίασης διεπαφών Glade</title>

	<sect1>
		<title>Γρήγορο ξεκίνημα</title>
		<para>Αν δε θέλετε να διαβάσετε όλο αυτό το βαρετό εγχειρίδιο, δείτε τα παρακάτω βασικά βήματα για να ξεκινήσετε γρήγορα: <orderedlist>
				<listitem><para>Πρέπει να έχετε ανοιχτό ένα έργο που να περιλαμβάνει ένα αρχείο Glade·</para></listitem>
				<listitem><para>Σε αντίθεση με την εφαρμογή Glade αυτή καθαυτή, το πρόσθετο του Anjuta χρησιμοποιεί το διπλό κλικ για τη δημιουργία χειριστών του προεπιλεγμένου σήματος. Μπορείτε να πραγματοποιήσετε την ενέργεια του κλικ σε γραφικά συστατικά (π.χ. μετάβαση στην τρέχουσα καρτέλα σε GtkNotebook), κρατώντας πατημένο το πλήκτρο "Windows" ή "Super"·</para></listitem>
				<listitem><para>Επιλέξτε <menuchoice><guimenuitem>Προτιμήσεις</guimenuitem><guimenuitem>Εργαλείο σχεδίασης διεπαφών Glade</guimenuitem></menuchoice> και σημειώστε τις τρεις πρώτες σημαίες: <guilabel>Εισαγωγή χειριστή κατά την επεξεργασία</guilabel>, <guilabel>Ξεχωριστή διάταξη σχεδιαστή</guilabel> και <guilabel>Αυτόματη προσθήκη πόρων</guilabel>·</para></listitem>
				<listitem><para>Σημειώστε τη σημαία <menuchoice><guimenuitem>Προβολή</guimenuitem><guimenuitem>Σχεδιαστής</guimenuitem></menuchoice> και μετακινήστε το παράθυρο στη θέση που επιθυμείτε·</para></listitem>
				<listitem><para>Μεταβείτε σε ένα αρχείο Glade στην περιοχή σχεδίασης και στο αρχείο πηγαίου κώδικα που θα περιέχει τις επανακλήσεις για το αρχείο Glade. Πατήστε <menuchoice><guimenuitem>Glade</guimenuitem><guimenuitem>Συσχετισμό τελευταίου σχεδιαστή και επεξεργαστή</guimenuitem></menuchoice>·</para></listitem>
				<listitem><para>Προαιρετικά, επιλέξτε έναν στόχο για τις εικόνες και άλλους πόρους στο διαχειριστή έργου και πατήστε <guilabel>Ορισμός ως προεπιλεγμένου στόχου πόρων</guilabel> στο σχετικό μενού.</para></listitem>
			</orderedlist></para>
	</sect1>
	
	<sect1>
		<title>Γενικές ερωτήσεις χρήσης του Glade</title>
		<para>Σε γενικές γραμμές, το πρόσθετο Glade αντιγράφει τις λειτουργίες της εφαρμογής Glade, περιέχει όμως και κάποιες ειδικές λειτουργίες. Το πρόσθετο Glade περιλαμβάνει τέσσερα παράθυρα: την περιοχή σχεδίασης, την παλέττα, τον επιθεωρητή γραφικών συστατικών και τον επεξεργαστή ιδιοτήτων. Έχουν την ίδια λειτουργία με τα παράθυρα της εφαρμογής Glade, οπότε συμβουλευθείτε το <ulink type="help" url="ghelp:glade">Εγχειρίδιο σχεδιαστή διεπαφών Glade</ulink> για περισσότερες λεπτομέρειες. Η επιπλέον δυνατότητα που σας προσφέρει το πρόσθετο είναι η δυνατότητα αξιοποίησης των υποδομών του Anjuta, και αυτή είναι που περιγράφεται εδώ.</para>
	</sect1>

	<sect1>
		<title>Συσχετισμός επεξεργαστή και σχεδιαστή</title>
		<para>Μπορείτε να συσχετίσετε τον επεξεργαστή κειμένου με το σχεδιαστή Glade για να μπορείτε να εναλλάσσεστε εύκολα μεταξύ των δύο και να μπορείτε να εισάγετε αυτόματα αρχικό κώδικα χειριστή για τους νέους χειριστές. Μπορείτε να συσχετίσετε περισσότερους από έναν επεξεργαστές στο σχεδιαστή. Θα χρησιμοποιηθεί ο πιο πρόσφατος επεξεργαστής ή αυτός που είναι συνδεδεμένος με το τρέχον γραφικό συστατικό ανώτατου επιπέδου. Υπάρχουν δύο τρόποι συσχετισμού του σχεδιαστή και του επεξεργαστή. Ο πρώτος χρησιμοποιεί το διάλογο συσχετισμών. Για το δεύτερο, επιλέξτε τα έγγραφα του σχεδιαστή και του επεξεργαστή με οποιαδήποτε σειρά και πατήστε <menuchoice><guimenuitem>Glade</guimenuitem><guimenuitem>συσχετισμός τελευταίου σχεδιαστή και επεξεργαστή</guimenuitem></menuchoice>.</para>
	</sect1>

	<sect1>
		<title>Διάλογος συσχετισμών</title>
		<para>Σας επιτρέπει να δημιουργείτε και να διαχειρίζεστε συσχετισμούς. Για να δημιουργήσετε έναν συσχετισμό, επιλέξτε σχεδιαστή και επεξεργαστή από τα αντίστοιχα πλαίσια και πατήστε <guibutton>Συσχετισμός</guibutton>. Μπορείτε, επίσης, να επιλέξετε το έγγραφο αν μεταβείτε σε αυτό από το διαχειριστή εγγράφων ή από τη λίστα παραθύρων του κύριου μενού. Η λίστα στο μέσο του διαλόγου εμφανίζει τους υπάρχοντες συσχετισμούς. Οι έλεγχοι που ακολουθούν χρησιμεύουν στην επεξεργασία των ιδιοτήτων συσχετισμού. Ακολουθεί η περιγραφή τους:</para>
	</sect1>
	
	<sect1 id="glade-default-signal">
		<title>Προεπιλεγμένο σήμα</title>
		<para>Κάντε δεξί κλικ σε ένα γραφικό συστατικό στην περιοχή σχεδίασης για να δημιουργήσετε ένα νέο χειριστή για προεπιλεγμένο σήμα, χρησιμοποιώντας ένα προκαθορισμένο πρότυπο για την ονοματοδοσία του. Για παράδειγμα, το προεπιλεγμένο σήμα είναι "clicked" για τα κουμπιά, "toggled" για τα κουτάκια επιλογής, κτλ. Αν είναι ενεργοποιημένη η επιλογή <guilabel>Εισαγωγή χειριστή κατά την επεξεργασία</guilabel>, τότε θα εισαχθεί νέος αρχικός κώδικας χειριστή στη θέση που προβλέπεται από τον <guilabel>Τύπο θέσης</guilabel>.</para>
	</sect1>
	
	<sect1>
		<title>Εισαγωγή αρχικού κώδικα</title>
		<para>Ένα από τα βασικά πλεονεκτήματα της ενσωμάτωσης του <application>Glade</application> στο <application>Anjuta</application> είναι η αυτόματη δημιουργία αρχικού κώδικα χειριστών, που ολοκληρώνει αυτόματα αυτή τη χρονοβόρα διαδικασία.</para>
		<para>Υπάρχουν διάφοροι τρόποι για να δημιουργήσετε αρχικό κώδικα: <itemizedlist>
				<listitem><para>Αυτόματα, αν είναι ενεργοποιημένη η επιλογή <guilabel>Εισαγωγή χειριστή κατά την επεξεργασία</guilabel>.</para></listitem>
				<listitem><para>Από τη γραμμή μενού, επιλέγοντας <menuchoice><guimenuitem>Glade</guimenuitem><guimenuitem>Εισαγωγή αρχικού κώδικα χειριστή, αυτόματη τοποθέτηση</guimenuitem></menuchoice>.</para></listitem>
				<listitem><para>Από το σχετικό μενού του εγγράφου κειμένου, επιλέγοντας <guilabel>Εισαγωγή αρχικού κώδικα χειριστή</guilabel>.</para></listitem>
			</itemizedlist></para>
	</sect1>

	<sect1>
		<title>Προτιμήσεις</title>
		<variablelist>
			<varlistentry>
				<term><guilabel>Εισαγωγή χειριστή κατά την επεξεργασία</guilabel></term>
				<listitem><para>Εισάγει αρχικό κώδικα χειριστή στο συσχετισμένο επεξεργαστή μετά από την εισαγωγή νέου χειριστή στον επεξεργαστή σημάτων ή τη δημιουργία <link linkend="glade-default-signal">χειριστή προεπιλεγμένων σημάτων</link></para></listitem>
			</varlistentry>
			<varlistentry>
				<term><guilabel>Ξεχωριστή διάταξη σχεδιαστή</guilabel></term>
				<listitem><para>Αποκόπτει την περιοχή σχεδίασης από το διαχειριστή εγγράφων, επιτρέποντάς σας να την προσαρτήσετε ξεχωριστά από τους επεξεργαστές.</para></listitem>
			</varlistentry>
			<varlistentry>
				<term><guilabel>Αυτόματη προσθήκη πόρων</guilabel></term>
				<listitem><para>Αν είναι σημειωμένο, όλοι οι πόροι (π.χ. εικόνες) προστίθενται στο στόχο στο τρέχον έργο. Μπορείτε να επιλέξετε το στόχο από το σχετικό μενού του διαχειριστή έργου, ή εισάγοντας το όνομα του στόχου κάτω από στο πεδίο κάτω από το κουτάκι επιλογής.</para></listitem>
			</varlistentry>
			<varlistentry>
				<term><guilabel>Πρότυπο χειριστή (handler)</guilabel></term>
				<listitem><para>Μπορείτε να επιλέξετε μεταξύ δύο μορφών αυτόματης ονοματοδοσίας του χειριστή σημάτων.</para></listitem>
			</varlistentry>
		</variablelist>
	</sect1>

</chapter>

 <!-- Preferences -->
 <!-- Preferences -->
 <chapter id="preferences">
  <title>Προτιμήσεις</title>
  <para>Από τις προτιμήσεις μπορείτε να προσαρμόζετε το <application>Anjuta</application> στις απαιτήσεις σας. Επιλέξτε <menuchoice><guimenu>Επεξεργασία</guimenu><guimenuitem>Προτιμήσεις</guimenuitem></menuchoice> για να εμφανίσετε το διάλογο προτιμήσεων. Παρακάτω εξηγούνται ορισμένες προτιμήσεις.</para>
  <sect1 id="prefs-general"><title>Γενικά</title>
    <orderedlist>
     <listitem><para>Ο <emphasis>Κατάλογος έργου</emphasis> είναι η διαδρομή όπου θα τοποθετηθούν όλα τα έργα σας. Ο οδηγός ρύθμισης εφαρμογών δημιουργεί νέα έργα μόνο σε αυτόν τον κατάλογο. Ο προεπιλεγμένος κατάλογος έργου είναι ο ~/Projects, που καλύπτει τους περισσότερους χρήστες.</para>
     </listitem>
      <listitem><para><emphasis>Πληροφορίες χρήστη:</emphasis> Εισάγετε το όνομα και την ηλεκτρονική σας διεύθυνση. Αυτά τα στοιχεία δεν χρησιμοποιούνται για την καταχώρηση του λογισμικού, χρησιμοποιούνται για τη δημιουργία ChangeLog (καταγραφών αλλαγών) και για διάφορες εισαγωγές κειμένου.</para>
      </listitem>
     </orderedlist>
    </sect1>
    <sect1 id="prefs-files"><title>Διαχειριστής αρχείων</title>
    <orderedlist>
     <listitem><para>Ο <emphasis>Ριζικός κατάλογος απουσία ανοιχτών έργων</emphasis> είναι η ριζική διαδρομή του διαχειριστή αρχείων όταν δεν είναι ανοιχτό κάποιο έργο.</para>
     </listitem>
      <listitem><para><emphasis>Φίλτρο αρχείων:</emphasis> Μπορείτε να χρησιμοποιήσετε φίλτρα για να αποκλείσετε ορισμένα αρχεία από το δέντρο αρχείων, π.χ. τα κρυφά αρχεία ή τα αρχεία που αγνοούνται από το σύστημα ελέγχου εκδόσεων, τα οποία συνήθως δημιουργούνται κατά τη διάρκεια της κατασκευής και δεν πρέπει να τροποποιούνται.</para>
      </listitem>
     </orderedlist>
    </sect1>
 </chapter>

 <!-- Tools -->
 <!-- new chapter -->
 <chapter id="tools">
  <title>Εργαλεία από το χρήστη</title>

  <sect1 id="tools-intro">
  <title>Εισαγωγή</title>
  <para>Ορισμένες φορές μπορεί να μη σας αρκούν οι λειτουργίες που σας προσφέρει το Anjuta. Σε αυτές τις περιπτώσεις, ίσως μπείτε στον πειρασμό να προσθέσετε μόνοι σας τη λειτουργία στον πηγαίο κώδικα του Anjuta, ή να υποβάλετε αίτηση για την υλοποίηση της λειτουργίας. Ωστόσο, και οι δύο αυτές λειτουργίες μπορεί να αποδειχθούν χρονοβόρες και προβληματικές, ειδικά αν η λειτουργία που σας ενδιαφέρει είναι ιδιαίτερα εξειδικευμένη. Σε αυτές τις περιπτώσεις, σας συνιστούμε να χρησιμοποιήσετε το πλαίσιο εργαλείων του Anjuta.</para>

  <para>Το Anjuta παρέχει ένα ισχυρό πλαίσιο για τη δημιουργία από τους χρήστες εργαλείων που επεκτείνουν τις λειτουργίες του. Τα εργαλεία μπορούν να έχουν πρόσβαση στα περισσότερα από τα χαρακτηριστικά του IDE μέσω της χρήσης μεταβλητών. Μπορείτε να προσθέτετε εργαλεία σε οποιοδήποτε μενού, να ορίζετε είσοδο, έξοδο και ανακατεύθυνση σε περίπτωση λάθους εντός του πλαισίου GUI, καθώς και να παρέχετε στο εργαλείο παραμέτρους γραμμής εντολών.</para>
	<note>
	<para>Πρέπει να έχει ενεργοποιηθεί το πρόσθετο εργαλείων για να χρησιμοποιηθεί αυτό το χαρακτηριστικό!</para>
	</note>
  </sect1>

  <sect1 id="tools-example">
  <title>Παραδείγματα εργαλείων</title>
  <para>Ακολουθεί ένα απλό παράδειγμα όπου χρησιμοποιείται το πρόσθετο εργαλείων για την ενσωμάτωση του σεναρίου δημιουργίας ChangeLog του GNOME.</para>

  <figure id="tool-list">
    <title>Επεξεργαστής εργαλείων</title>
    <screenshot>
	<screeninfo>Επεξεργαστής εργαλείων</screeninfo>
     <graphic fileref="figures/tool-editor.png" format="PNG" srccredit="jhs"/>
    </screenshot>
   </figure>

  </sect1>

</chapter>

 <!-- Authors -->
  <chapter id="authors">
  <title>Συγγραφείς</title>
   <para>Το έργο <application>Anjuta</application> ιδρύθηκε από τον Naba Kumar. <ulink type="http" url="http://anjuta.org/credits">Σε αυτή τη σελίδα</ulink> μπορείτε να βρείτε όλους τους συντελεστές του Anjuta.</para>

   <para>Για περισσότερες πληροφορίες σχετικά με το <application>Anjuta</application>, επισκεφθείτε τον ιστότοπο του έργου στη διεύθυνση <ulink type="http" url="http://anjuta.org/">http://anjuta.org</ulink>. Για αναφορές σφαλμάτων χρησιμοποιήστε το Bug Tracker στον ιστότοπο ανάπτυξης του έργου <ulink type="http" url="http://www.sourceforge.net/projects/anjuta"> http://www.sourceforge.net/projects/anjuta</ulink>.</para>
   
   <para>
    This manual was written by Naba Kumar, Andy Piper, Biswapesh Chattopadhyay and Johannes Schmid.
    Please send all comments and suggestions regarding 
    this manual to the Anjuta Devel list <email>anjuta-devel-list@gnome.org</email>. Comments may also be submitted via the 
    project trackers at SourceForge.
   </para> 
</chapter>


 <!-- License -->
 <chapter id="license">
  <title>Άδεια χρήσης</title>
   <para>Αυτό το πρόγραμμα είναι ελεύθερο λογισμικό· επιτρέπεται η αναδιανομή ή/και τροποποίησή του υπό τους όρους της <ulink type="ghelp" url="gnome-help:gpl">Γενικής Άδειας Δημόσιας Χρήσης GNU (GPL)</ulink>, όπως αυτή έχει δημοσιευτεί από το Ίδρυμα Ελεύθερου Λογισμικού (FSF) — είτε της έκδοσης 2 της Άδειας, είτε (κατ' επιλογήν σας) οποιασδήποτε μεταγενέστερης έκδοσης.</para>
   <para>Το πρόγραμμα αυτό διανέμεται με την ελπίδα ότι θα αποδειχθεί χρήσιμο, παρόλα αυτά ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ — χωρίς ούτε και την σιωπηρή εγγύηση ΕΜΠΟΡΕΥΣΙΜΟΤΗΤΑΣ ή ΚΑΤΑΛΛΗΛΟΤΗΤΑΣ ΓΙΑ ΕΙΔΙΚΟ ΣΚΟΠΟ. Για περισσότερες λεπτομέρειες ανατρέξτε στη <citetitle>Γενική Άδεια Δημόσιας Χρήσης GNU (GPL)</citetitle>.</para>
   <para>Αντίγραφο της <citetitle>Γενικής Άδειας Δημόσιας Χρήσης GNU (GPL)</citetitle> περιλαμβάνεται ως παράρτημα στον <citetitle>Οδηγό χρήστη GNOME</citetitle>. Επίσης, αντίγραφο της <citetitle>Γενικής Άδειας Δημόσιας Χρήσης GNU (GPL)</citetitle> μπορείτε να παραλάβετε από το Ίδρυμα Ελεύθερου Λογισμικού (FSF), είτε επισκεπτόμενοι τον <ulink type="http" url="http://www.fsf.org">ιστοχώρο</ulink> του, είτε γράφοντας στη διεύθυνση <address> Free Software Foundation, Inc. <street>51 Franklin Street, Fifth Floor</street> <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address></para>
</chapter>

</book>
