⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ciconview.cpp

📁 Gambas is a graphical development environment based on a Basic interpreter, like Visual Basic. It us
💻 CPP
📖 第 1 页 / 共 2 页
字号:
BEGIN_METHOD_VOID(CICONVIEW_first)  return_item(THIS, (MyIconViewItem *)(WIDGET->firstItem()));END_METHODBEGIN_METHOD_VOID(CICONVIEW_next)  return_item(THIS, (MyIconViewItem *)(THIS->item->nextItem()));END_METHODBEGIN_PROPERTY(CICONVIEW_scrollbar)  //QScrollView *wid = (QScrollView *)QWIDGET(_object);  long scroll;  if (READ_PROPERTY)  {    scroll = 0;    if (WIDGET->hScrollBarMode() == QScrollView::Auto)      scroll += 1;    if (WIDGET->vScrollBarMode() == QScrollView::Auto)      scroll += 2;    GB.ReturnInteger(scroll);  }  else  {    scroll = VPROP(GB_INTEGER) & 3;    WIDGET->setHScrollBarMode( (scroll & 1) ? QScrollView::Auto : QScrollView::AlwaysOff);    WIDGET->setVScrollBarMode( (scroll & 2) ? QScrollView::Auto : QScrollView::AlwaysOff);  }END_PROPERTYBEGIN_PROPERTY(CICONVIEWITEM_key)  GB.ReturnString(THIS->item->key);END_PROPERTYBEGIN_PROPERTY(CICONVIEWITEM_picture)  if (READ_PROPERTY)    GB.ReturnObject(THIS->item->picture);  else    THIS->item->setPicture(PROP(GB_OBJECT));END_PROPERTYBEGIN_PROPERTY(CICONVIEWITEM_selected)  MyIconViewItem *it = THIS->item;  if (READ_PROPERTY)    GB.ReturnBoolean(it->isSelected());  else    it->iconView()->setSelected(it, VPROP(GB_BOOLEAN));END_PROPERTYBEGIN_PROPERTY(CICONVIEWITEM_text)  MyIconViewItem *it = THIS->item;  if (READ_PROPERTY)    GB.ReturnNewZeroString(TO_UTF8(it->text()));  else    it->setText(QSTRING_PROP());END_PROPERTYBEGIN_METHOD_VOID(CICONVIEWITEM_ensure_visible)  //qDebug("ensure visible: %p", THIS->item);  WIDGET->ensureItemVisible(THIS->item);END_METHODBEGIN_METHOD_VOID(CICONVIEWITEM_delete)  THIS->dict->remove(THIS->item->key);  delete THIS->item;END_PROPERTY/*BEGIN_METHOD_VOID(CICONVIEWITEM_init)  CLASS_Item = GB.FindClass("Item");END_METHOD*/BEGIN_PROPERTY(CICONVIEW_client_width)  GB.ReturnInteger(WIDGET->width() - WIDGET->frameWidth() * 2);END_PROPERTYBEGIN_PROPERTY(CICONVIEW_client_height)  GB.ReturnInteger(WIDGET->height() - WIDGET->frameWidth() * 2);END_PROPERTYBEGIN_METHOD(CICONVIEW_select_all, GB_BOOLEAN on)  if (MISSING(on) || VARG(on))    WIDGET->selectAll(true);  else    WIDGET->selectAll(false);END_METHODBEGIN_PROPERTY(CICONVIEW_grid_x)  if (READ_PROPERTY)    GB.ReturnInteger(WIDGET->gridX());  else  {    WIDGET->setGridX(VPROP(GB_INTEGER));    if (!WIDGET->itemsMovable())      WIDGET->arrangeItemsInGrid(true);  }END_PROPERTYBEGIN_PROPERTY(CICONVIEW_grid_y)  if (READ_PROPERTY)    GB.ReturnInteger(WIDGET->gridY());  else  {    WIDGET->setGridY(VPROP(GB_INTEGER));    if (!WIDGET->itemsMovable())      WIDGET->arrangeItemsInGrid(true);  }END_PROPERTYBEGIN_PROPERTY(CICONVIEW_arrangement)  if (READ_PROPERTY)  {    if (WIDGET->itemsMovable())      GB.ReturnInteger(ARRANGEMENT_FREE);    else      GB.ReturnInteger(WIDGET->arrangement());  }  else  {    if (VPROP(GB_INTEGER) == ARRANGEMENT_FREE)    {      WIDGET->setItemsMovable(true);      WIDGET->setAutoArrange(false);      WIDGET->setResizeMode(QIconView::Fixed);    }    else    {      WIDGET->setAutoArrange(true);      WIDGET->setItemsMovable(false);      WIDGET->setArrangement((QIconView::Arrangement)VPROP(GB_INTEGER));      if (THIS->sorted)        WIDGET->sort(THIS->asc);      WIDGET->setResizeMode(QIconView::Adjust);      WIDGET->arrangeItemsInGrid(true);    }  }END_PROPERTYBEGIN_PROPERTY(CICONVIEW_word_wrap)  if (READ_PROPERTY)    GB.ReturnBoolean(WIDGET->wordWrapIconText());  else    WIDGET->setWordWrapIconText(VPROP(GB_BOOLEAN));END_PROPERTYBEGIN_PROPERTY(CICONVIEWITEM_x)  if (READ_PROPERTY)    GB.ReturnInteger(THIS->item->x());  else    THIS->item->move(VPROP(GB_INTEGER), THIS->item->y());END_PROPERTYBEGIN_PROPERTY(CICONVIEWITEM_y)  if (READ_PROPERTY)    GB.ReturnInteger(THIS->item->y());  else    THIS->item->move(THIS->item->x(), VPROP(GB_INTEGER));END_PROPERTYBEGIN_PROPERTY(CICONVIEWITEM_w)  GB.ReturnInteger(THIS->item->width());END_PROPERTYBEGIN_PROPERTY(CICONVIEWITEM_h)  GB.ReturnInteger(THIS->item->height());END_PROPERTYBEGIN_METHOD(CICONVIEWITEM_move, GB_INTEGER x; GB_INTEGER y)  THIS->item->move(VARG(x), VARG(y));END_METHODBEGIN_PROPERTY(CICONVIEWITEM_editable)  if (READ_PROPERTY)    GB.ReturnBoolean(THIS->item->renameEnabled());  else    THIS->item->setRenameEnabled(VPROP(GB_BOOLEAN));END_PROPERTYBEGIN_METHOD_VOID(CICONVIEWITEM_rename)  THIS->item->rename();END_METHOD/***************************************************************************  IconViewItem***************************************************************************/GB_DESC CIconViewItemDesc[] ={  GB_DECLARE(".IconViewItem", 0), GB_VIRTUAL_CLASS(),  GB_PROPERTY_READ("Key", "s", CICONVIEWITEM_key),  GB_PROPERTY("Picture", "Picture", CICONVIEWITEM_picture),  GB_PROPERTY("Selected", "b", CICONVIEWITEM_selected),  GB_PROPERTY("Text", "s", CICONVIEWITEM_text),  GB_METHOD("EnsureVisible", NULL, CICONVIEWITEM_ensure_visible, NULL),  GB_METHOD("Delete", NULL, CICONVIEWITEM_delete, NULL),  GB_PROPERTY("Editable", "b", CICONVIEWITEM_editable),  GB_METHOD("Rename", NULL, CICONVIEWITEM_rename, NULL),  GB_METHOD("MoveNext", "b", CICONVIEW_next, NULL),  GB_PROPERTY("X", "i", CICONVIEWITEM_x),  GB_PROPERTY("Left", "i", CICONVIEWITEM_x),  GB_PROPERTY("Y", "i", CICONVIEWITEM_y),  GB_PROPERTY("Top", "i", CICONVIEWITEM_y),  GB_PROPERTY_READ("W", "i", CICONVIEWITEM_w),  GB_PROPERTY_READ("Width", "i", CICONVIEWITEM_w),  GB_PROPERTY_READ("H", "i", CICONVIEWITEM_h),  GB_PROPERTY_READ("Height", "i", CICONVIEWITEM_h),  GB_METHOD("Move", NULL, CICONVIEWITEM_move, "(X)i(Y)i"),  GB_END_DECLARE};/***************************************************************************  IconView***************************************************************************/GB_DESC CIconViewDesc[] ={  GB_DECLARE("IconView", sizeof(CICONVIEW)), GB_INHERITS("Control"),  GB_CONSTANT("None", "i", QIconView::NoSelection),  GB_CONSTANT("Single", "i", QIconView::Single),  GB_CONSTANT("Multi", "i", QIconView::Multi),  GB_CONSTANT("Extended", "i", QIconView::Extended),  GB_CONSTANT("Free", "i", ARRANGEMENT_FREE),  GB_CONSTANT("LeftRight", "i", QIconView::LeftToRight),  GB_CONSTANT("TopBottom", "i", QIconView::TopToBottom),  GB_METHOD("_new", NULL, CICONVIEW_new, "(Parent)Container;"),  GB_METHOD("_free", NULL, CICONVIEW_free, NULL),  GB_PROPERTY("Mode", "i<IconView,None,Single,Multi,Extended>", CICONVIEW_mode),  //GB_PROPERTY("Sorted", "b", CICONVIEW_sorted),  //GB_PROPERTY("Ascending", "b", CICONVIEW_ascending),  GB_PROPERTY("Arrangement", "i<IconView,Free,LeftRight,TopBottom>", CICONVIEW_arrangement),  GB_PROPERTY("GridX", "i", CICONVIEW_grid_x),  GB_PROPERTY("GridY", "i", CICONVIEW_grid_y),  GB_PROPERTY("WordWrap", "b", CICONVIEW_word_wrap),  GB_PROPERTY("Border", "b", CWIDGET_border_simple),  GB_PROPERTY("ScrollBar", "i<Scroll>", CWIDGET_scrollbar),  GB_PROPERTY_READ("Count", "i", CICONVIEW_count),  GB_PROPERTY_READ("Available", "b", CICONVIEW_available),  GB_METHOD("MoveTo", "b", CICONVIEW_move_to, "(Key)s"),  GB_METHOD("MoveFirst", "b", CICONVIEW_first, NULL),  GB_METHOD("MoveNext", "b", CICONVIEW_next, NULL),  GB_METHOD("_get", ".IconViewItem", CICONVIEW_get, "(Key)s"),  GB_METHOD("Clear", NULL, CICONVIEW_clear, NULL),  GB_METHOD("Add", ".IconViewItem", CICONVIEW_add, "(Key)s(Text)s[(Picture)Picture;(After)s]"),  GB_METHOD("Remove", NULL, CICONVIEW_remove, "(Key)s"),  GB_METHOD("Exist", "b", CICONVIEW_exist, "(Key)s"),  GB_METHOD("Find", "b", CICONVIEW_find, "(X)i(Y)i"),  GB_PROPERTY_READ("Current", ".IconViewItem", CICONVIEW_current),  GB_PROPERTY_READ("Key", "s", CICONVIEW_key),  GB_PROPERTY_READ("Item", ".IconViewItem", CICONVIEW_item),  GB_METHOD("SelectAll", NULL, CICONVIEW_select_all, "[(Select)b]"),  GB_CONSTANT("_Properties", "s", CICONVIEW_PROPERTIES),  GB_CONSTANT("_DefaultEvent", "s", "Click"),  GB_PROPERTY_READ("ClientWidth", "i", CICONVIEW_client_width),  GB_PROPERTY_READ("ClientW", "i",  CICONVIEW_client_width),  GB_PROPERTY_READ("ClientHeight", "i", CICONVIEW_client_height),  GB_PROPERTY_READ("ClientH", "i", CICONVIEW_client_height),  GB_EVENT("Select", NULL, NULL, &EVENT_Select),  GB_EVENT("Activate", NULL, NULL, &EVENT_Activate),  GB_EVENT("Click", NULL, NULL, &EVENT_Click),  GB_EVENT("Rename", NULL, NULL, &EVENT_Rename),  GB_END_DECLARE};/***************************************************************************  class CIconView***************************************************************************/CIconView CIconView::manager;MyIconViewItem *CIconView::getItem(CICONVIEW *treeview, char *key){  MyIconViewItem *item = (*treeview->dict)[key];  if (item == 0)  {    GB.Error("Unknown item '&1'", key);    return NULL;  }  return item;}void CIconView::raiseEvent(int ev, QIconViewItem *it){  GET_SENDER(_object);  MyIconViewItem *old = THIS->item;  if (!it)    it = WIDGET->currentItem();  THIS->item = (MyIconViewItem *)it;  RAISE_EVENT(ev);  THIS->item = old;}void CIconView::selected(void){  raiseEvent(EVENT_Select, 0);  #if QT_VERSION < 0x030200  raiseEvent(EVENT_Click, 0);  #endif}void CIconView::activated(QIconViewItem *it){  if (!it)    return;  raiseEvent(EVENT_Activate, it);}void CIconView::clicked(QIconViewItem *it){  if (!it)    return;  raiseEvent(EVENT_Click, it);}void CIconView::renamed(QIconViewItem *it){  raiseEvent(EVENT_Rename, it);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -