#ifndef __GICONVIEW_H #define __GICONVIEW_H #include "gcontrol.h" #include "gtree.h" class gIconView : public gControl { public: gIconView(gContainer *parent); ~gIconView(); //"Properties" int count(); char* itemText(char *key); gPicture* itemPicture(char *key); bool isItemSelected(char *key); void setItemSelected(char *key, bool vl); void setItemText(char *key,char *vl); void setItemPicture(char *key, gPicture *vl); bool isItemEditable(char *key) { return tree->isRowEditable(key); } void setItemEditable(char *key, bool vl) { tree->setRowEditable(key, vl); } int mode(); void setMode(int vl); bool getBorder(); void setBorder(bool vl); long scrollBar(); void setScrollBar(long vl); int gridWidth() { return tree->gridWidth(); } void setGridWidth(int w) { tree->setGridWidth(w); } int clientWidth(); int clientHeight(); bool isEditable() { return tree->isEditable(); } void setEditable(bool vl) { tree->setEditable(vl); } char* current() { return tree->cursor(); } void setCurrent(char *key) { tree->setCursor(key); } char* firstItem(); char* lastItem(); char* nextItem(char *vl); char* prevItem(char *vl); void moveItemFirst(char *key); void moveItemLast(char *key); void moveItemBefore(char *key, char *before); void moveItemAfter(char *key, char *after); bool isSorted() { return tree->isSorted(); } void setSorted(bool v) { tree->setSorted(v); } bool isSortAscending() { return tree->isSortAscending(); } void setSortAscending(bool v) { tree->setSortAscending(v); } //"Methods" bool add(char *key, char *text, gPicture *pic = NULL, char *after = NULL); bool remove(char *key); bool exists(char *key); char* find(int x, int y); void clear() { tree->clear(); } void ensureItemVisible(char *key) { (*tree)[key]->ensureVisible(); } void rectItem(char *key, int *x, int *y, int *w, int *h) { ((*tree)[key])->rect(x, y, w, h); } void selectAll() { tree->selectAll(); } void unselectAll() { tree->unselectAll(); } void startRename(char *key) { (*tree)[key]->startRename(); } char *intern(char *key); //"Events" void (*onActivate)(gIconView *sender, char *key); void (*onSelect)(gIconView *sender); void (*onClick)(gIconView *sender); void (*onRemove)(gIconView *sender, char *key); void (*onRename)(gIconView *sender, char *key); void (*onCancel)(gIconView *sender, char *key); bool (*onCompare)(gIconView *sender, char *keya, char *keyb, int *comp); //"Private" char *find(GtkTreePath *path) { return tree->pathToKey(path, false); } private: gIcon *tree; }; #endif