צפייה ברשימה

דיברתי על פקד "עץ" באחד הפוסטים הקודמים, ולפני שאדבר על החלק השני עם עוד פקד של "עץ", החלטתי לדבר על פקד TListView היות ופקד ה"עץ" הבא, יודע להיות שניהם.tlistview

פקד ה TListView הוא עוד פקד בקבוצה של רשימות, והוא שכן של פקד העץ ברשימת הרכיבים בלזרוס. הוא מאפשר לנו לקבל תחושה של "שולחן עבודה" עם קבצים שונים כמו שאנחנו מכירים בWindows ובכמה מנהלי שולחנות עבודה בלינוקס. כלומר רשימה של איברים מפוזרים בצורה מסויימת על גבי המסך, ואפשר לבחור את מה שרוצים בעצם.

dolphin TListView מכיל מספר של מצבי תצוגה ולא רק מצב בודד. הוא מכיל רשימה עם צלמיות גדולות, רשימה עם צלמיות קטנות, רשימה לבד, ורשימה עם פרטים. בנוסף הפקד מאפשר לנו להשתמש ב checkbox על מנת לסמן איברים, דבר המזכיר מאוד את הגישה של Dolphin ב KDE.

הרשימה עם הפרטים מכילה עוד מידע על כל איבר ואיבר, וכן כותרות לכל דבר כזה באמצעות עמודות. אם אתם זוכרים את הפקד ה"עץ" של GTK, אז הוא מספק גם את זה כחלק מהיכולות שלו למעשה.

הפעם החלטתי לעשות משהו טיפה יותר רציני, וזה לנצל את כל 4 מצבי התצוגה של הפקד, ולכן הכנתי גם מערך קוד שאפשר להוריד אותו, וגם עשיתי "על הדרך" שימוש בRTTI ולהמיר את השמות התכנותיים ("סמלים") של המניה אשר מכילה בעצם את מצב התצוגה למחרוזת, והשתמשתי בקוד הזה, בתכונה שנכנסה לfor בגרסה 2.4.2 של FPC, כך שזו הגרסה המינימלית שתהיו צריכים בשביל להדר את הקוד שלי הלאה, אבל אם אין ברשותכם את הגרסה הזו או גרסה חדשה יותר, אפשר ממש בקלות להמיר את שורת הקוד הבעייתית מ

for vs in TViewStyle do

ל

for vs := Low(TViewStyle) to High(TViewStyle) do

וזה ימשיך לעבוד בצורה זהה. חשוב להבין כי כל מה שעשיתי בצורה תכנותית (למעט העברת השם של ה"סמל" למחרזות) ניתן לעשות גם בצורה וויזואלית, רק אני העדפתי להציג את הצד התכנותי של הנושא.

כמו שאפשר לראות בתמונה, השתמשתי בעוד פקד שנותן לנו אפשרות לבצע רשימה של TRadioGroup שגם בו השתמשתי רק בצורה תכנותית ולא בצורה וויזואלית, וזה רק בשביל להמחיש בעצם את גישת העבודה, למרות שבפועל סביר להניח שהיינו מכניסים את המידע הזה בזמן תכנון ולא בזמן ריצה, ובכך הקוד שלנו היה גם יעיל יותר.

את הקוד ניתן להורד מהקישור הזה.

תכנות נעים.

להשאיר תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s