Temel Bilgiler

Panel nesneleri, içerisinde tüm diğer panel nesnelerini barındıran bir destenin parçası olarak işleme örtük olarak alınan birer penceredir. Deste en üstteki panelin görünür olduğu diğerlerinin konumlarına göre belirli veya belirsiz olabileceği bir yığın gibi davranış gösterir. Dolayısiyle temel fikir üst üste çalışan panel yığını oluşturmak ve panel kütüphanesini kullanarak bunları düzgün göstermektir. refresh()'e benzeyen ve çağrıldığında panellerin düzgün gözükmesini sağlayan bir işlev vardır. Panelleri gösteren, gizleyen, hareket ettiren, boyutlarını değiştiren, v.b. işlevler vardır. Üst üste çalışma sorunu panel kütüphanesi tarafından tüm bu işlev çağrımları sırasında halledilir.

Bir panel programının genel akışı şuna benzer:

  1. Panellere eklenecek pencereler oluşturulur (newwin() ile)

  2. Görünme sırasına göre paneller oluşturulur. Görünmesi istenen sıraya göre bir yığıt oluşturulur. Yeni panel oluşturmak için new_panel() işlevi kullanılır.

  3. Panelleri ekrana doğru görüntülenme sırasıyla yazmak için update_panels() işlevi kullanılır. Görüntülenmelerini sağlamak için ise doupdate() işlevi kullanılır.

  4. Panelleri düzenlemek için show_panel(), hide_panel(), move_panel() v.b. işlevler kullanılır. panel_hidden() ve panel_window() gibi yardımcı işlevlerden yararlanılır. Bir panelin kullanıcı göstericisini belirtmek ve bilgi almak için set_panel_userptr() ve panel_userptr() işlevleri kullanılır.

  5. Panel kullanımı bittikten sonra del_panel() ile panel silinir.

Bazı programlar ile konuyu açıklığa kavuşturalım. Aşağıda 3 tane üst üste çalışan panel oluşturup bunları ekranda gösteren bir program bulunmaktadır.