Пример #1
0
void CVisProp::SetTypeNameAndDim(const char *szType,
		const char *szName, const CVisDim& refdim, bool fShared)
{
	CVisPropTypeInfoBase *pproptypeinfo = VisLookupPropTypeInfo(szType);

	bool fNeedToSetTypeName = false;
	if (pproptypeinfo == 0)
	{
		// The type was not recognized, so we'll use a CVisPropList
		// object to read the value.
		// LATER:  This code has not been tested.
#ifdef _DEBUG
		OutputDebugString("VisSDK Warning:  Type '");
		OutputDebugString(szType);
		OutputDebugString("' not recognized in CVisProp::SetTypeNameAndDim.\n");
#endif // _DEBUG
		pproptypeinfo = VisLookupPropTypeInfo(typeid(CVisPropList));
		assert(pproptypeinfo != 0);
		fNeedToSetTypeName = true;
	}

	ReleaseObj();
	SetKeyData(CVisPropKeyData(szName));
	SetPPropTypeInfo(pproptypeinfo);

	// Make a new object to store the value.
	SetDefaultValue(refdim, fShared);
	if (fNeedToSetTypeName)
		SetPropListTypeName(szType);
}
Пример #2
0
// Called when an element is destroyed.
void RocketMenuPlugin::OnElementDestroy(Rocket::Core::Element* element) {
    OptionsData *options_data = GetOptionsData(element);
    if (options_data != NULL) {
        delete options_data;
        SetOptionsData(element, NULL);
    }
    RangeData *range_data = GetRangeData(element);
    if (range_data != NULL) {
        delete range_data;
        SetRangeData(element, NULL);
    }
    KeyData *key_data = GetKeyData(element);
    if (key_data != NULL) {
        delete key_data;
        SetKeyData(element, NULL);
    }
}
Пример #3
0
void RocketMenuPlugin::SetupKeyChooser(Rocket::Core::Element *element) {
    Rocket::Core::String caption;

    element->GetInnerRML(caption);
    element->SetInnerRML("<caption/><keys><key1><hdr>&lt;</hdr><keyval/><ftr>&gt;</ftr></key1><key2><hdr>&lt;</hdr><keyval/><ftr>&gt;</ftr></key2></keys>");

    Rocket::Core::Element *caption_element = element->GetChild(0);
    caption_element->SetInnerRML(caption);

    Rocket::Core::Element *keys_element = element->GetChild(1);
    Rocket::Core::Element *key1_element = keys_element->GetChild(0);
    Rocket::Core::Element *key2_element = keys_element->GetChild(1);

    key1_element->AddEventListener("mousemove", this, false);
    key2_element->AddEventListener("mousemove", this, false);

    KeyData *data = new KeyData();
    data->menu_item = element;
    data->hdr1 = key1_element->GetChild(0);
    data->opt1 = key1_element->GetChild(1);
    data->ftr1 = key1_element->GetChild(2);

    data->hdr2 = key2_element->GetChild(0);
    data->opt2 = key2_element->GetChild(1);
    data->ftr2 = key2_element->GetChild(2);

    data->opt1->SetInnerRML("None");

    data->opt2->SetInnerRML("None");

    ShowElement(data->hdr1, false);
    ShowElement(data->ftr1, false);
    ShowElement(data->hdr2, false);
    ShowElement(data->ftr2, false);

    SetKeyData(element, data);
}