You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
}<br />
<strong>NCURSES</strong> <strong>ile</strong> Yazılım Geli¸stirme <strong>NASIL</strong><br />
printw("A¸sa˘gı gösteren ok "); addch(ACS_DARROW); printw("\n");<br />
printw("Yukarı gösteren ok "); addch(ACS_UARROW); printw("\n");<br />
printw("Diyez i¸sareti "); addch(ACS_BOARD); printw("\n");<br />
printw("˙Içi bo¸s kare "); addch(ACS_LANTERN); printw("\n");<br />
printw("˙Içi dolu kare blok "); addch(ACS_BLOCK); printw("\n");<br />
printw("Küçük/E¸sit i¸sareti "); addch(ACS_LEQUAL); printw("\n");<br />
printw("Büyük/E¸sit i¸sareti "); addch(ACS_GEQUAL); printw("\n");<br />
printw("Pi "); addch(ACS_PI); printw("\n");<br />
printw("E¸sit de˘gil "); addch(ACS_NEQUAL); printw("\n");<br />
printw("UK ound sembolü "); addch(ACS_STERLING); printw("\n");<br />
refresh();<br />
getch();<br />
endwin();<br />
return 0;<br />
15. Di ˘ger Kütüphaneler<br />
Curses kütüphanesinden ba¸ska daha fazla özellik ve i¸slevsellik sa˘glayan birkaç kütüphane daha vardır. Takip<br />
eden kısımlarda curses <strong>ile</strong> da˘gıtılan üç standart kütüphane incelenecektir.<br />
16. Panel Kütüphanesi<br />
Artık curses kullanımında yetenekli hale geldiniz ve daha büyük bir ¸seyler yapmak istiyorsunuzdur. Üst üste<br />
çalı¸san ve profosyonel bir pencere görünümü sa˘glayan bir sürü pencere olu¸sturdunuz. Ne yazık ki, bir süre<br />
sonra bunları idare etmek oldukça zor olacaktır. Çoklu tazeleme ve güncellemeler sizi bir kabusa itecektir. Üst<br />
üste çalı¸san pencereler, pencereleri do˘gru sırada tazelemeyi unuttu˘gunuzda büyük lekeler bırakır.<br />
Ümizsitli˘ge kapılmayın. Panel kütüphanesinde sunulmu¸s zekice bir çözüm bulunmaktadır. ncurses<br />
geli¸stiric<strong>ile</strong>rinin dünyasında ¸söyle denir:<br />
E˘ger arayüz tasarımınızda pencere yı˘gıtınız çok derinlere iniyorsa çalı¸sma zamanında bu<br />
pencereleri yı˘gıttan çekmek için durmadan düzenlemeler yapmak yorucu ve üstesinden gelinmez<br />
bir hal alabilir. Böylece kar¸sımıza panel kütüphanesi çıkar.<br />
E˘ger pekçok üst üste çalı¸san pencereniz varsa kullanmanız gereken panel kütüphanesidir. Seri ¸sekilde ve<br />
do˘gru sırada (yukardan a¸sa˘gı) wnoutrefresh() ve doupdate() bunun üstesinden gelir. Kütüphane,<br />
pencerelerin sıraları, üst üstelikleri hakkındaki bilg<strong>ile</strong>ri ve ekranı düzgün ¸sekilde güncelemekle ilgili i¸sleri yönetmektedir.<br />
O zaman ne duruyoruz? Panellere yakından bakalım.<br />
16.1. Temel Bilg<strong>ile</strong>r<br />
Panel nesneleri, içerisinde tüm di˘ger panel nesnelerini barındıran bir destenin parçası olarak i¸sleme örtük olarak<br />
alınan birer penceredir. Deste en üstteki panelin görünür oldu˘gu di˘gerlerinin konumlarına göre belirli veya belirsiz<br />
olab<strong>ile</strong>ce˘gi bir yı˘gın gibi davranı¸s gösterir. Dolayısiyle temel fikir üst üste çalı¸san panel yı˘gını olu¸sturmak ve panel<br />
kütüphanesini kullanarak bunları düzgün göstermektir. refresh()’e benzeyen ve ça˘grıldı˘gında panellerin<br />
düzgün gözükmesini sa˘glayan bir i¸slev vardır. Panelleri gösteren, gizleyen, hareket ettiren, boyutlarını de˘gi¸stiren,<br />
v.b. i¸slevler vardır. Üst üste çalı¸sma sorunu panel kütüphanesi tarafından tüm bu i¸slev ça˘grımları sırasında<br />
halledilir.<br />
Bir panel programının genel akı¸sı ¸suna benzer:<br />
http://belgeler.org Linux Kitaplı˘gı 38 / 90