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

📄 atr_chrt.cpp

📁 windRiver提供的的Zinc5.3完整源码,文档非常齐全
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	attr->SetHzJustify(ZAF_HZ_LEFT);
	attr->SetSendMessageWhenSelected(true);
	attr->SetValue(TST_SET_INDEX_INT);
	attr->SetNumberID((ZafNumberID)TST_SET_INDEX_INT);
	methodCombo->Add(attr);
	Add(methodCombo);

	// Create axis color combo box.
	Add(new ZafPrompt(27, 5, 9, new ZafStringData("Axis:**")));
	ZafComboBox *axisColorCombo = new ZafComboBox(37, 5, 10, 3);
	axisColorCombo->SetViewOnly(true);
	axisColorCombo->SetStringID(ZAF_ITEXT("AXIS_COLOR_COMBO"));
	axisColorCombo->Add(new ZafScrollBar(0, 0, 0, 0, ZAF_NULLP(ZafScrollData)));
	attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Default"));
	attr->SetButtonType(ZAF_FLAT_BUTTON);
	attr->SetHzJustify(ZAF_HZ_LEFT);
	attr->SetSendMessageWhenSelected(true);
	attr->SetValue(TST_SET_AXIS_DEFAULT);
	attr->SetSelected(true);
	axisColorCombo->Add(attr);
	attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Green"));
	attr->SetButtonType(ZAF_FLAT_BUTTON);
	attr->SetHzJustify(ZAF_HZ_LEFT);
	attr->SetSendMessageWhenSelected(true);
	attr->SetValue(TST_SET_AXIS_GREEN);
	axisColorCombo->Add(attr);
	attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Blue"));
	attr->SetButtonType(ZAF_FLAT_BUTTON);
	attr->SetHzJustify(ZAF_HZ_LEFT);
	attr->SetSendMessageWhenSelected(true);
	attr->SetValue(TST_SET_AXIS_BLUE);
	axisColorCombo->Add(attr);
	attr = new ZafButton(0, 0, 15, 1, new ZafStringData("Yellow"));
	attr->SetButtonType(ZAF_FLAT_BUTTON);
	attr->SetHzJustify(ZAF_HZ_LEFT);
	attr->SetSendMessageWhenSelected(true);
	attr->SetValue(TST_SET_AXIS_YELLOW);
	axisColorCombo->Add(attr);

	Add(axisColorCombo);

	prompt = new ZafPrompt(50, 12, 6, new ZafStringData("Title:"));
	prompt->SetHzJustify(ZAF_HZ_RIGHT);
	Add(prompt);
	ZafString *string = new ZafString(57, 12, 17, "", -1);
	string->SetNumberID((ZafNumberID)TST_SET_TITLE_TEXT);
	Add(string);
	ZafButton *button = new ZafButton(75, 12, 6, 1, "Set");
	button->SetSendMessageWhenSelected(true);
	button->SetValue(TST_SET_TITLE_TEXT);
	button->SetAutoSize(false);
	Add(button);

	prompt = new ZafPrompt(50, 13, 6, new ZafStringData("X-Axis:"));
	prompt->SetHzJustify(ZAF_HZ_RIGHT);
	Add(prompt);
	string = new ZafString(57, 13, 17, "", -1);
	string->SetNumberID((ZafNumberID)TST_SET_XAXIS_TEXT);
	Add(string);
	button = new ZafButton(75, 13, 6, 1, "Set");
	button->SetSendMessageWhenSelected(true);
	button->SetValue(TST_SET_XAXIS_TEXT);
	button->SetAutoSize(false);
	Add(button);

	prompt = new ZafPrompt(50, 14, 6, new ZafStringData("Y-Axis:"));
	prompt->SetHzJustify(ZAF_HZ_RIGHT);
	Add(prompt);
	string = new ZafString(57, 14, 17, "", -1);
	string->SetNumberID((ZafNumberID)TST_SET_YAXIS_TEXT);
	Add(string);
	button = new ZafButton(75, 14, 6, 1, "Set");
	button->SetSendMessageWhenSelected(true);
	button->SetValue(TST_SET_YAXIS_TEXT);
	button->SetAutoSize(false);
	Add(button);

	// Add the test object.
	testObject = new TestObj;
	Add(testObject);
}

ZafEventType ObjectTestWin::Event(const ZafEventStruct &event)
{
    TestObj  *p_testObject = DynamicPtrCast(testObject, TestObj);
	ZafChart *chart = DynamicPtrCast(testObject, ZafChart);

	ZafEventType ccode = event.type;
	switch (ccode)
	{
	case TST_SET_TYPE_BASE:
	case TST_SET_TYPE_PIE:
	case TST_SET_TYPE_BAR:
	case TST_SET_TYPE_COLUMN:
	case TST_SET_TYPE_STACK:
	case TST_SET_TYPE_POINTS:
	case TST_SET_TYPE_LINE:
	case TST_SET_TYPE_AREA:
		{
            int iCurrIndexMode = chart->IndexMethod();
            chart->ClearDataAll();
            p_testObject->SendTestData();
	    	chart->SetChartType( ccode - 15000 );
		    chart->SetIndexMethod( iCurrIndexMode );

		    int type = chart->ChartType() + 15000;
		    switch (type)
		    {
		        case TST_SET_TYPE_BASE:
		        case TST_SET_TYPE_PIE:
		        case TST_SET_TYPE_BAR:
		        case TST_SET_TYPE_COLUMN:
		        case TST_SET_TYPE_STACK:
		        case TST_SET_TYPE_POINTS:
		        case TST_SET_TYPE_LINE:
		        case TST_SET_TYPE_AREA:
			    {
			        ZafComboBox *typeCombo = DynamicPtrCast(GetObject(ZAF_ITEXT("TYPE_COMBO")), ZafComboBox);
			    typeCombo->GetObject((ZafNumberID)type)->SetSelected(true);
			    }
			break;
		    }
		}
		break;

	case TST_SET_INDEX_NAT:
	case TST_SET_INDEX_INT:
        {
            int iCurrChartType = chart->ChartType();
            chart->ClearDataAll();
            p_testObject->SendTestData();
	    	chart->SetChartType( iCurrChartType );
		    chart->SetIndexMethod( ccode - 16000 );

		    int indexMethod = chart->IndexMethod() + 16000;
		    switch (indexMethod)
		    {
		        case TST_SET_INDEX_NAT:
		        case TST_SET_INDEX_INT:
			    {
			        ZafComboBox *methodCombo = DynamicPtrCast(GetObject(ZAF_ITEXT("METHOD_COMBO")), ZafComboBox);
			        methodCombo->GetObject((ZafNumberID)indexMethod)->SetSelected(true);
			    }
			    break;
		    }
		}
		break;

	case TST_SET_AXIS_DEFAULT:
		chart->SetAxisColor(ZAF_CLR_NULL);
		break;

	case TST_SET_AXIS_GREEN:
		chart->SetAxisColor(ZAF_CLR_LIGHTGREEN);
		break;

	case TST_SET_AXIS_YELLOW:
		chart->SetAxisColor(ZAF_CLR_YELLOW);
		break;

	case TST_SET_AXIS_BLUE:
		chart->SetAxisColor(ZAF_CLR_LIGHTBLUE);
		break;

	case TST_TOGGLE_XAXIS_MARKS:
		{
		ZafWindowObject *attr = attrList->GetObject((ZafNumberID)TST_TOGGLE_XAXIS_MARKS);
		chart->SetMarksXAxis(attr->Selected());
		attr->SetSelected(chart->MarksXAxis());

		// Make sure counts get updated.
		GenericTestWin::Event(event);
		}
		break;

	case TST_TOGGLE_YAXIS_MARKS:
		{
		ZafWindowObject *attr = attrList->GetObject((ZafNumberID)TST_TOGGLE_YAXIS_MARKS);
		chart->SetMarksYAxis(attr->Selected());
		attr->SetSelected(chart->MarksYAxis());

		// Make sure counts get updated.
		GenericTestWin::Event(event);
		}
		break;

	case TST_SET_TITLE_TEXT:
		chart->SetTextTitle(GetObject(ccode)->Text());
		break;

	case TST_SET_XAXIS_TEXT:
		chart->SetTextXAxis(GetObject(ccode)->Text());
		break;

	case TST_SET_YAXIS_TEXT:
		chart->SetTextYAxis(GetObject(ccode)->Text());
		break;

	default:
		ccode = GenericTestWin::Event(event);
		break;
	}

	return (ccode);
}

void ObjectTestWin::SynchronizeAttributes()
{
	ZafChart *chart = DynamicPtrCast(testObject, ZafChart);

	// Preset attributes according to test object's settings.
	attrList->GetObject((ZafNumberID)TST_TOGGLE_XAXIS_MARKS)->SetSelected(chart->MarksXAxis());
	attrList->GetObject((ZafNumberID)TST_TOGGLE_YAXIS_MARKS)->SetSelected(chart->MarksYAxis());

	GenericTestWin::SynchronizeAttributes();

	// Set settings fields disabled.
	attrList->GetObject((ZafNumberID)TST_TOGGLE_NONCURRENT)->SetDisabled(true);
	GetObject(ZAF_ITEXT("HELP_CONTEXT_COMBO"))->SetDisabled(true);
}

⌨️ 快捷键说明

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