示例#1
0
 int TableWidgetItem::setSizeHint( lua_State * L )// ( const QSize & size )void
 {
	 QTableWidgetItem* lhs = ValueInstaller2<QTableWidgetItem>::check( L, 1 );
	 QSize* size = ValueInstaller2<QSize>::check( L, 2 );
	 lhs->setSizeHint( *size );
	 return 0;
 }
示例#2
0
lmcImagePicker::lmcImagePicker(
        QWidget *parent,
        QList<QString>* source,
        int picSize,
        int columns,
        int* selected,
        int actionIndex )
    : QTableWidget(parent)
{
	setMouseTracking(true);

	setBackgroundRole(QPalette::Window);
	setIconSize(QSize(picSize, picSize));
	setFrameShape(QFrame::NoFrame);
	setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
	setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
	setEditTriggers(QAbstractItemView::NoEditTriggers);
	setSelectionMode(QAbstractItemView::NoSelection);
	setShowGrid(false);
	horizontalHeader()->setVisible(false);
	verticalHeader()->setVisible(false);
	setStyleSheet("QTableWidget { padding: 4px }");	// padding around table

	max_col = columns;
	int max_row = qCeil(source->count() / (qreal)max_col);

	setColumnCount(max_col);
	setRowCount(max_row);

	int cellSize = picSize + 8;
	verticalHeader()->setDefaultSectionSize(cellSize);
	verticalHeader()->setMinimumSectionSize(cellSize);
	horizontalHeader()->setDefaultSectionSize(cellSize);
	horizontalHeader()->setMinimumSectionSize(cellSize);

	//	set min and max size of table, with padding included
	setMinimumSize(max_col * cellSize + 8, max_row * cellSize + 8);
	setMaximumSize(max_col * cellSize + 8, max_row * cellSize + 8);

	for(int i = 0; i < max_row; i++) {
		for(int j = 0; j < max_col; j++) {
			int k = (i * max_col) + j;

			QTableWidgetItem* item = new QTableWidgetItem();
			item->setData(TypeRole, 0);
			if(k < source->count()) {
				item->setIcon(QIcon(source->value(k)));
				item->setData(TypeRole, 1);
				item->setSizeHint(QSize(picSize, picSize));
				item->setBackground(this->palette().window());
			}
			setItem(i, j, item);
		}
	}

	this->actionIndex = actionIndex;
	this->selected = selected;
	this->hoverItem = NULL;
}
示例#3
0
    void addPreview(KUrl previewfile) {
        QTableWidgetItem *previewitem = new QTableWidgetItem();
        previewitem->setSizeHint(QSize(64, 64));
        previewitem->setIcon(QIcon(previewfile.path()));

        setItem(m_previewentries, 4, previewitem);
        m_previewentries++;
        // FIXME: mapping from entry to url and to vertical position(s)
    }
示例#4
0
/**
 * Sets up the list group.
 * @param margin  The margin of the group.
 */
void ClassifierListTab::setupListGroup(int margin)
{
    QString typeName;
    QString newItemType;

    switch (m_itemType) {
    case ot_Attribute: {
        typeName = i18n("Attributes");
        m_centralTableTW->setColumnCount(7);
        m_centralTableTW->setHorizontalHeaderItem(0,new QTableWidgetItem("Name"));
        m_centralTableTW->setHorizontalHeaderItem(1,new QTableWidgetItem("Type"));
        m_centralTableTW->setHorizontalHeaderItem(2,new QTableWidgetItem("Initial value"));
        m_centralTableTW->setHorizontalHeaderItem(3,new QTableWidgetItem("Visibility"));
        m_centralTableTW->setHorizontalHeaderItem(4,new QTableWidgetItem("Stereotype name"));
        QTableWidgetItem* stat = new QTableWidgetItem("S");
        stat->setToolTip("Static");
        m_centralTableTW->setHorizontalHeaderItem(5,stat);
        QTableWidgetItem* doc = new QTableWidgetItem("Doc");
        doc->setToolTip("Documentation");
        m_centralTableTW->setHorizontalHeaderItem(6,doc);
      }
      break;
    case ot_Operation: {
        typeName = i18n("Operations");
        m_centralTableTW->setColumnCount(10);
        m_centralTableTW->setHorizontalHeaderItem(0,new QTableWidgetItem("Name"));
        QTableWidgetItem* param = new QTableWidgetItem("Parameters");
        param->setSizeHint(QSize(0,0));
        m_centralTableTW->setHorizontalHeaderItem(1,param);
        m_centralTableTW->setHorizontalHeaderItem(2,new QTableWidgetItem("Type"));
        m_centralTableTW->setHorizontalHeaderItem(3,new QTableWidgetItem("Visibility"));
        m_centralTableTW->setHorizontalHeaderItem(4,new QTableWidgetItem("Stereotype"));
        QTableWidgetItem* stat = new QTableWidgetItem("S");
        stat->setToolTip("Static");
        m_centralTableTW->setHorizontalHeaderItem(5,stat);
        QTableWidgetItem* abs = new QTableWidgetItem("A");
        abs->setToolTip("Abstract");
        m_centralTableTW->setHorizontalHeaderItem(6,abs);
        QTableWidgetItem* cons = new QTableWidgetItem("C");
        cons->setToolTip("Const");
        m_centralTableTW->setHorizontalHeaderItem(7,cons);
        QTableWidgetItem* doc = new QTableWidgetItem("Doc");
        doc->setToolTip("Documentation");
        m_centralTableTW->setHorizontalHeaderItem(8,doc);
        m_centralTableTW->setHorizontalHeaderItem(9,new QTableWidgetItem("Source code"));
      }
      break;
    case ot_Template:
        typeName = i18n("Templates");
        m_centralTableTW->setColumnCount(3);
        m_centralTableTW->setHorizontalHeaderItem(0,new QTableWidgetItem("Name"));
        m_centralTableTW->setHorizontalHeaderItem(1,new QTableWidgetItem("Type"));
        m_centralTableTW->setHorizontalHeaderItem(2,new QTableWidgetItem("Stereotype"));
        break;
    case ot_EnumLiteral:
        typeName = i18n("Enum Literals");
        m_centralTableTW->setColumnCount(2);
        m_centralTableTW->setHorizontalHeaderItem(0,new QTableWidgetItem("Name"));
        m_centralTableTW->setHorizontalHeaderItem(1,new QTableWidgetItem("Default Value"));
        break;
    case ot_EntityAttribute: {
        typeName = i18n("Entity Attributes");
        newItemType = i18n("N&ew Entity Attribute...");
        m_centralTableTW->setHorizontalHeaderItem(0,new QTableWidgetItem("Name"));
        m_centralTableTW->setHorizontalHeaderItem(1,new QTableWidgetItem("Type"));
        m_centralTableTW->setHorizontalHeaderItem(2,new QTableWidgetItem("Default Value"));
        m_centralTableTW->setHorizontalHeaderItem(3,new QTableWidgetItem("Stereotype"));
        m_centralTableTW->setHorizontalHeaderItem(4,new QTableWidgetItem("Length"));
        m_centralTableTW->setHorizontalHeaderItem(5,new QTableWidgetItem("Attributes"));
        QTableWidgetItem* autoI = new QTableWidgetItem("A");
        autoI->setToolTip("Auto Increment");
        m_centralTableTW->setHorizontalHeaderItem(6,autoI);
        QTableWidgetItem* allowNull = new QTableWidgetItem("N");
        allowNull->setToolTip("Allow null");
        m_centralTableTW->setHorizontalHeaderItem(7,allowNull);
        QTableWidgetItem* index = new QTableWidgetItem("I");
        index->setToolTip("Index");
        m_centralTableTW->setHorizontalHeaderItem(8,index);
        QTableWidgetItem* doc = new QTableWidgetItem("Doc");
        doc->setToolTip("Documentation");
        m_centralTableTW->setHorizontalHeaderItem(9,doc);
      }
        break;
    case ot_EntityConstraint:
        typeName = i18n( "Constraints" );
        newItemType = i18n( "N&ew Constraint..." );
        break;
    default:
        uWarning() << "unknown listItem type in ClassifierListTab";
        break;
    }

    m_centralTableTW->horizontalHeader()->setResizeMode(0,QHeaderView::Stretch);
    
    for (int i=1;i<12;i++) {
      m_centralTableTW->horizontalHeader()->setResizeMode(i,QHeaderView::ResizeToContents);
    }
    
    //top group box, contains a vertical layout with list box above and buttons below
    m_pItemListGB = new QGroupBox(typeName, this );
    m_pItemListGB->setVisible(false);
    QVBoxLayout* listVBoxLayout = new QVBoxLayout( m_pItemListGB );
    listVBoxLayout->setMargin(margin);
    listVBoxLayout->setSpacing( 10 );

    //horizontal box contains the list box and the move up/down buttons
    QHBoxLayout* listHBoxLayout = new QHBoxLayout();
    listHBoxLayout->setSpacing(10);
    listVBoxLayout->addItem( listHBoxLayout );
    m_pItemListLB = new QListWidget(m_pItemListGB);
    m_pItemListLB->setSelectionMode(QAbstractItemView::SingleSelection);
    m_pItemListLB->setContextMenuPolicy(Qt::CustomContextMenu);
    listHBoxLayout->addWidget(m_pItemListLB);

    setupMoveButtons(listHBoxLayout);
    setupActionButtons(newItemType, listVBoxLayout);
}