Ejemplo n.º 1
0
QString Property::qPropertyString() const
{
    QString str;
    str = QString("Q_PROPERTY(%1 %2")
          .arg(realTypeName())
          .arg(replaceFisrtLetterToLower(m_d->p_name));
#define AddBoolProperty(MEMBER, MARCO, QTNAME) \
    if (MEMBER() != PropertyDefault##MARCO) \
    { \
    str += QString(" ") + #QTNAME + QString(" ") \
    + ((MEMBER()) ? "true" : "false"); \
}
    if (member())
    {
        str += QString(" MEMBER ") + memberVariableName();
    }
    if (read())
    {
        str += QString(" READ ") + readFunctionName();
    }
    if (write())
    {
        str += QString(" WRITE ") + writeFunctionName();
    }
    if (reset())
    {
        str += QString(" RESET ") + resetFunctionName();
    }
    if (notify())
    {
        str += QString(" NOTIFY ") + signalName();
    }
    if (revision() != PropertyDefaultRevision)
    {
        str += QString(" REVISION %1").arg(revision());
    }
    AddBoolProperty(designable, Designable, DESIGNABLE);
    AddBoolProperty(scriptable, Scriptable, SCRIPTABLE);
    AddBoolProperty(stored, Stored, STORED);
    AddBoolProperty(user, User, USER);
    if (constant() != PropertyDefaultConstant)
    {
        str += QString(" CONSTANT");
    }
    if (final() != PropertyDefaultFinal)
    {
        str += QString(" FINAL");
    }
    str += QString(")");
    return str;
}
Ejemplo n.º 2
0
void CDynControl::PrepareDataArray()
{
	if(IsNew==0)
		return;
	IsNew=0;
	csPropertyName="Основные";
	if(m_nControlType == ID_DYNBUTTONTREE)//TREE
	{
		csPropertyName="Дерево";
		AddBoolProperty("Есть кнопки",1);
		AddBoolProperty("Есть линии",1);
		AddBoolProperty("Есть корневая линия",1);
		AddBoolProperty("Есть пиктограммы",0);

		AddStringProperty("Тип значения",nTypeValue,"ДеревоЗначений");

		AddFuncProperty("Выбор",NM_DBLCLK,"");
		AddFuncProperty("Выделение",TVN_SELCHANGED,"");
		AddFuncProperty("Откр. ветки",TVN_ITEMEXPANDED,"");
		
		AddFuncProperty("Нажатие клавиши",WM_KEYDOWN,""); 
	}
	else
	if(m_nControlType == ID_DYNBUTTONGRID)//GRID
	{
		csPropertyName="Grid";
		AddIntProperty("Число строк",20);
		AddIntProperty("Число колонок",10);
		AddIntProperty("Число фикс.стр",1);
		AddIntProperty("Число фикс.кол.",1);
		AddBoolProperty("Разрешить редактирование",1);

		AddBoolProperty("",1);
		AddBoolProperty("",1);
//		AddBoolProperty("Выделять фикс.колонки",1);//5
//		AddBoolProperty("Выделять фикс.строки",1);
		AddBoolProperty("Сортировка колонок",1);
		AddIntProperty("Высота ячейки",16);
		AddIntProperty("Ширина ячейки",130);
		AddBoolProperty("",1);
//		AddBoolProperty("Выделение строки",1);//10
		AddBoolProperty("Авторазмер колонок",0);
		AddBoolProperty("Виртуальный режим",0);
		AddColorProperty("Цвет фона таблицы",RGB(255,255,255));

		AddStringProperty("Тип значения",nTypeValue,csPropertyName);

		AddFuncProperty("Начало редактирования",GVN_BEGINLABELEDIT,"");
		AddFuncProperty("Двойн.лев.кнопка",NM_DBLCLK,"");
		AddFuncProperty("Левая кнопка",NM_CLICK,"");
		AddFuncProperty("Правая кнопка",NM_RCLICK,"");
		AddFuncProperty("Окончание редактирования",GVN_ENDLABELEDIT,"");
		AddFuncProperty("Начало выделения",GVN_SELCHANGING,"");
		AddFuncProperty("Окончание выделения",GVN_SELCHANGED,"");
		AddFuncProperty("Нажатие клавиши",WM_KEYDOWN,""); 
		AddFuncProperty("Обратный вызов виртуального режима",9999,"");
	}
	else
	if (m_nControlType == ID_DYNBUTTONEDIT) // EDIT
	{
		csPropertyName="Реквизит диалога";

		AddStringProperty("Тип значения",nTypeValue,"Строка");
		AddBoolProperty("Неограниченная длина",1);
		AddIntProperty("Длина",10);
		AddIntProperty("Точность",0);
		AddBoolProperty("Неотрицательный",0);//4
		AddBoolProperty("Многострочный",0);
		AddBoolProperty("Ввод пароля",0);
		AddBoolProperty("Кнопка выбора",0);//7
		AddBoolProperty("Запретить редактирование",0);//8

		AddFuncProperty("Выбор",WM_ONSELECT,"");
		AddFuncProperty("Редактирование",EN_CHANGE,"");
		AddFuncProperty("Нажатие клавиши",WM_KEYDOWN,""); 
	}
	else
	if (m_nControlType == ID_DYNBUTTONRADIO) // RADIO
	{
		csPropertyName="Переключатель";
		AddBoolProperty("Первый в группе",0);
		AddStringProperty("Тип значения",nTypeValue,"");

		AddFuncProperty("Выбор",BN_CLICKED,"");
		AddFuncProperty("Нажатие клавиши",WM_KEYDOWN,""); 
	}
	else
	if (m_nControlType == ID_DYNBUTTONLISTBOX) // LISTBOX
	{
		csPropertyName="Список";
		AddBoolProperty("Мультивыделение строк",0);
		AddStringProperty("Тип значения",nTypeValue,"СписокЗначений");

		AddFuncProperty("Выбор",LBN_DBLCLK,"");
		AddFuncProperty("Позиционирование",LBN_SELCHANGE,"");
		//LBN_SELCANCEL
		AddFuncProperty("Нажатие клавиши",WM_KEYDOWN,""); 
	}
	else
	if (m_nControlType == ID_DYNBUTTONLABEL) // LABEL
	{
		csPropertyName="Надпись";

		AddIntProperty("Размер шрифта",8);
		AddBoolProperty("Жирность",0);
		AddBoolProperty("Наклон",0);
		AddBoolProperty("Подчеркивание",0);
		AddColorProperty("Цвет",0);


		AddStringProperty("Положение гориз",1,"Лево");//5
		AddStringProperty("Положение верт",0,"Центр");//6

		AddFuncProperty("Нажатие",BN_CLICKED,"");//7
		AddFuncProperty("Формула надписи",NM_CUSTOMDRAW,"");

		//AddFuncProperty("Формула",ANY_MESSAGE,"");
	}
	else
	if (m_nControlType == ID_DYNBUTTONCOMBO) // COMBO
	{
		csPropertyName="Поле со списком";
		AddStringProperty("Тип значения",nTypeValue,"СписокЗначений");

		//AddStringProperty("Тип значения",nTypeValue,"");
		AddFuncProperty("Выбор",CBN_SELENDOK,"");
		AddFuncProperty("Нажатие клавиши",WM_KEYDOWN,""); 
	}
	else
	if (m_nControlType == ID_DYNBUTTONGROUP) // GROUPBOX
		csPropertyName="Рамка группы";
	else
	if (m_nControlType == ID_DYNBUTTONCHECK) // CHECK
	{
		csPropertyName="Флажок";
		AddStringProperty("Тип значения",nTypeValue,"");
		AddFuncProperty("Выбор",BN_CLICKED,"");
		AddFuncProperty("Нажатие клавиши",WM_KEYDOWN,""); 
	}
	else
	if (m_nControlType == ID_DYNBUTTON) // BUTTON
	{
		csPropertyName="Кнопка";
		AddBoolProperty("Кнопка по умолчанию",0);
		AddStringProperty("Тип значения",nTypeValue,"");
		AddFuncProperty("Нажатие",BN_CLICKED,"");
		AddFuncProperty("Нажатие клавиши",WM_KEYDOWN,""); 
		AddColorProperty("Цвет",0);//4
		AddIntProperty("Картинка",0);//5
		AddStringProperty("Картинка гориз",1,"Лево");//6
		AddStringProperty("Картинка верт",0,"Верх");//7
	}
	else
	if (m_nControlType == ID_DYNBUTTONDATE) // DATE
		csPropertyName="Дата";
	else
	if (m_nControlType == ID_BUTTONPROGRESS) // CProgressCtrl
	{
		csPropertyName="Индикатор";
		AddIntProperty("Мин. значение",0);
		AddIntProperty("Макс. значение",100);
		AddBoolProperty("Вертикальное расположение",0);
		AddBoolProperty("Непрерывное заполнение",0);
		AddStringProperty("Тип значения",nTypeValue,"");
	}
	else
	if (m_nControlType == ID_BUTTONSLIDER) // CSliderCtrl
	{
		csPropertyName="Слайдер";
		AddIntProperty("Мин. значение",0);
		AddIntProperty("Макс. значение",100);
		AddBoolProperty("Вертикальное расположение",0);
		AddBoolProperty("Инвертировать направление",1);
		AddBoolProperty("Маркеры",0);//4
		AddStringProperty("Тип значения",nTypeValue,"");
		AddFuncProperty("Движение",NM_CUSTOMDRAW,"");
		AddFuncProperty("Нажатие клавиши",WM_KEYDOWN,""); 
		AddFuncProperty("При изменении",NM_RELEASEDCAPTURE,"");
		
	}
	else
	if (m_nControlType == ID_BUTTONFORMOBJECT) //Пользовательская форма - микроформа
	{
		csPropertyName=m_csObjName;//"микроформа";
	}
	else
	if (m_nControlType == ID_BUTTON_TAB)//CTabCtrl
	{
		AddFuncProperty("Выбор",TCN_SELCHANGE,"");//0
		AddBoolProperty("Кнопки",0);//1				TCS_BUTTONS
		AddBoolProperty("Многострочный",0);//2		TCS_MULTILINE
		AddBoolProperty("Вертикально",0);//3		TCS_VERTICAL
		AddBoolProperty("Перевернуть",0);//4		TCS_BOTTOM + TCS_RIGHT
	}
}