Foundations of GTK+ Development
لو حد عاوز الكتاب يباظيلي رساله ومش هزعله

المهم , الكتاب مكون من 13 فصل بتكلموا بالتفصيل المختصر عن
1- المكتبه ومكوناتها والمكتبات الي بتعتمد عليها
Gtk+,Glib,Cario,Pango,GDK,ATK
2- بيتكلم عن بدايتك في المكتبه واذاي تقدر تنشا نافذه بسيط
وبيتكلم عن نظام الل X window system
وتحليل ال events وال signals ومعناهم وطريقة استخدامهم ومعني ال Callbacks واهميتها
3- بيكلمك عن الحاويات واذاي تقدر تنشاء box وترتب فيه مكونات وعناصر برنامجك , صراحه بعتبره من اهم الفصول الي في الكتاب لانه اساس لكل الفصول التانيه ركز فيه كويس وهتلاقيه سهل جدا وهيسهل كل الامور التانيه عليك
4- بيكلمك عن ال widgets بشكل عام , اهميته لاتقل عن اهمية الفصل السابق لانه اساس اخر لبناء باقي الكتاب
5- بيكلمك عن صندايق الحوار , اذاي تقدر تدي للمستخدم بتاعك تنبيهات او تأكيدات او حتي تحذيرات , واذاي تقدر تنشاء صناديق حوار خاصه بيك او صناديق حوار جاهزه وعلاقتها بالنافذه الاساسيه
6- بيكلمك عن مكتبة ال glib الي من مميزتها الجميله جدا انك تقدر تستخدمها بشكل منفصل عشان تكتب برامج portable بشكل قوي جدا وبعيده تماما عن التعقيدات التحتيه للسيستيمز الي بتتعامل معاها , راي الخاص ان اي حد يقدر يستخدم المكتبه ديت عشان يستخدم حاجات متوافره وجاهزه ويعتمد عليها زي ال data structures الي فيها
7- بيكلمك عن ال TextView واذاي تقدر تنشا مكان تكتب فيه نصوص بتمدد لاكتر من سطر وتحتوي عدة مقاطع , اذاي تقدر تتعامل مع الbuffer الداخي واذاي تقدر تطبق اشياء معينه زي الخطوط او الاحجام علي مناطق معينه من النصوص والاجمل انه هيقدملك بدايه جميله جدا عشان تقدر تكتب برامج يعتمد عليها لحد المرحله ديت وبس
8- بيكلمك عن ال TreeView الي عن طريقه تقدر ترتب البيانات الخاصه بيك زي اسماء الملفات او الصور والي اخره في widget واحد بيتعامل معاها ك list او ك tree وديت خاصيه مهمه لانك بكده تقدر تتعامل مع الاشياء المعقده وتدي للمستخدم واجهه للتعامل معاها , في اللحظه الي انا بكتب فيها الملاحظات ديت انا كنت قريت الفصل دوت نظري وبس ولسه مطبقتش اي حاجه فيه .
9- الفصل ده بيكلمك عن القوائم وشرائط الادوات , اذاي تقدر تبني قوائم popup واذاي تقدر تبني قوائم زي قوائم File عن طريق ال menu bar واذاي تقدر تبني شرائط ادوات ToolBars ووضع عناصر فيها تسهل علي المستخدم التعامل اكتر , وفي الاخر بيكلمك عن ملفات ال Xml الي تقدر تكتبها وتعملها load dynamically بدون وجع راس في كتابة كتيره لقوائم كتيره وده هيسهل عليك التعامل تماما مع الكود.
10 - فصل التعامل مع Glade , واستخدام المكتبة الخاصه بيه libglad عشان تقدر تبني ملفات Xml خاصة بال glade فيها مكونات وعناصر البرنامج الي بتكتبه بدون متكتب اي كود بنفسك , هو هيبني الملفات الخاصه بالعناصر الرسوميه وعليك انك تحملها باستخدام libglad وربط ال Signals وال Events بالعناصر ديت عشان تقدر تتعامل معاها
11 - بيكلمك عن كيفية انشاء Widgets خاصه بيك , عشان نقرب الفكره تقدر تفكر في ال Widgets "بشكل مضلل" كانها كلاسات وكانك بتتعامل مع لغه كائنيه "دوت مش حقيقي بشكل كامل حتي ولو ب 50% لكن تقدر تبصلها من الزاويه ديت" واذاي تقدر تعمل اشتقاق من Widgets اتبنت بالفعل عشان تكمل حاجه ناقصه او حتي عشان تبني Widget خاص بيك لسبب او لاخر , واذي تقدر تبني Interfaces بيتعامل معاها ال Widget الخاص بيك .
12- بيكلمك عن Widgets تانيه بس غير الي انت اتعلمتها وديت هتفيدك بشكل كبير جدا في انشاء واجهات رسوميه سهل التعامل معاها زي انك تعمل زرار للطباعه او انك تكمل نص في مكان لادخال النصوص مثلا كلمة ca يكملهالك cat وهكذا
13- اخر فصل ودوت بيديك افكار تقدر تنفذها بدل متخلص الكتاب وتقول where else to go
نصيحة اخيره , ديما خلي معاك ال Gtk+ online reference مفتوح وانت بتكتب اي تطبيق حقيقي لانه بالفعل هيساعدك , ثانيا لما تخلص الكتاب دوت وقف , متتعلمش حاجه تانيه وتقول ادوس طالما سخنت غلط هتنسي بسرعه رهيبه لدرجة انك مش هتفتكر الي اتعملته وتتسال هو انا اتعلمت حاجه اساسا !
ثالثا وده الاهم تطبيقات تطبيقات تطبيقات خلي حياتك كلها codes ومكالمات تيلفون و ! سوري

تقديري للكتاب , فوق الرائع ولونه في بعض الاحيان يفتقر للتوضيحات للمبتدئين بشكل عام , بالنسبه لواحد بيفكر كويس الكتاب دوت heaven sent .