コード例 #1
0
ファイル: ScriptTokens.cpp プロジェクト: Alenett/OBSE-for-OR
ScriptToken* ScriptToken::ToBasicToken() const
{
	if (CanConvertTo(kTokenType_String))
		return Create(GetString());
	else if (CanConvertTo(kTokenType_Array))
		return CreateArray(GetArray());
	else if (CanConvertTo(kTokenType_Form))
		return CreateForm(GetFormID());
	else if (CanConvertTo(kTokenType_Number))
		return Create(GetNumber());
	else
		return NULL;
}
コード例 #2
0
bool CInspectUserBuilder::Build(CWholePage* pWholePage)
{
	bool			bSuccess = true;
	// get the viewing user
	m_pViewer = m_InputContext.GetCurrentUser();
	// initiliase the whole page object and set the page type
	bSuccess = InitPage(pWholePage, "INSPECT-USER",true);

	// do an error page if not an editor
	if (m_pViewer == NULL || !m_pViewer->GetIsEditor())
	{
		bSuccess = bSuccess && pWholePage->SetPageType("ERROR");
		bSuccess = bSuccess && pWholePage->AddInside("H2G2", "<ERROR TYPE='NOT-EDITOR'>You cannot inspect users unless you are logged in as an Editor.</ERROR>");
	}
	else
	{
		// get parameters from the URL
		// if fetching a new users details then we get a different parameter value from the query
		if (m_InputContext.ParamExists("FetchUser"))
		{
			m_iUserID = m_InputContext.GetParamInt("FetchUserID");
		}
		else if (m_InputContext.ParamExists("UserID"))
		{
			m_iUserID = m_InputContext.GetParamInt("UserID");
		}
		else if (m_InputContext.ParamExists("ID"))
		{
			m_iUserID = m_InputContext.GetParamInt("ID");
		}
		else
		{
			m_iUserID = 0;
		}
		// if no user ID given, then default to the viewing user
		if (m_iUserID == 0)
		{
			m_iUserID = m_pViewer->GetUserID();
		}
		// now get the user who we are inspecting
		m_User.SetSiteID(m_InputContext.GetSiteID());
		if (m_User.CreateFromID(m_iUserID, false))
		{
			// display full data on this user
			m_User.SetEverythingVisible();
			// process any submission and then fetch details on this user
			CTDVString	sFormXML = "";
			// first process any submission that may have been made
			bSuccess = bSuccess && ProcessSubmission();
			// then create the XML for the form to be displayed
			bSuccess = bSuccess && CreateForm(&sFormXML);
			// insert the form XML into the page
			bSuccess = bSuccess && pWholePage->AddInside("H2G2", sFormXML);
			// insert sites list
			CTDVString sSiteXML;
			bSuccess = bSuccess && m_InputContext.GetSiteListAsXML(&sSiteXML, 1);
			bSuccess = bSuccess && pWholePage->AddInside("H2G2", sSiteXML);

			// See if we've been asked to find matching accounts for this user!
			if (m_sCommand.CompareText("FindMatchingDetails"))
			{
				// We want to find matching account for the users first, last names and email
				CTDVString sMatchingAccounts;
				if (m_User.GetMatchingUserAccounts(sMatchingAccounts))
				{
					bSuccess = bSuccess && pWholePage->AddInside("H2G2",sMatchingAccounts);
				}
				else
				{
					bSuccess = bSuccess && pWholePage->AddInside("H2G2", "<ERROR TYPE='MATCHING-ACCOUNTS'>Failed while finding matching user accounts.</ERROR>");
				}
			}
		}
		else
		{
			// couldn't get user so give an error page
			bSuccess = bSuccess && pWholePage->SetPageType("ERROR");
			bSuccess = bSuccess && pWholePage->AddInside("H2G2", "<ERROR TYPE='INVALID-USERID'>No user exists with the user ID supplied in the request.</ERROR>");
		}
	}
	TDVASSERT(bSuccess, "CInspectUserBuilder::Build() failed");
	return bSuccess;
}
コード例 #3
0
ファイル: explorer.c プロジェクト: mariusal/grace
void raise_explorer(GUI *gui, Quark *q)
{
    GraceApp *gapp = gui->P;

    set_wait_cursor();
    
    if (!gui->eui) {
        ExplorerUI *eui;
        Widget menubar, menupane, panel, form, fr;

        eui = xmalloc(sizeof(ExplorerUI));
        gui->eui = eui;

        eui->a_icon = XpmToPixmap(active_xpm);
        eui->h_icon = XpmToPixmap(hidden_xpm);

        eui->top = CreateDialog(app_shell, "Explorer");
        menubar = CreateMenuBar(eui->top);
        WidgetManage(menubar);
        FormAddVChild(eui->top, menubar);

        menupane = CreateMenu(menubar, "File", 'F', FALSE);
        CreateMenuButtonA(menupane, "Close", 'C', "<Key>Escape", "Esc", destroy_dialog_cb, eui->top);

        menupane = CreateMenu(menubar, "Edit", 'E', FALSE);
        eui->edit_undo_bt = CreateMenuButtonA(menupane, "Undo", 'U', "Ctrl<Key>z", "Ctrl+Z",
            undo_cb, gapp);
        eui->edit_redo_bt = CreateMenuButtonA(menupane, "Redo", 'R', "Ctrl Shift<Key>z", "Ctrl+Shift+Z",
            redo_cb, gapp);

        menupane = CreateMenu(menubar, "Insert", 'I', FALSE);
        eui->insert_frame_bt = CreateMenuButton(menupane,
            "Frame", '\0', add_frame_cb, eui);
        WidgetSetSensitive(eui->insert_frame_bt,  FALSE);
        eui->insert_graph_bt = CreateMenuButton(menupane,
            "Graph", '\0', add_graph_cb, eui);
        WidgetSetSensitive(eui->insert_graph_bt,  FALSE);
        eui->insert_ssd_bt = CreateMenuButton(menupane,
            "SSData", '\0', add_ssd_cb, eui);
        WidgetSetSensitive(eui->insert_ssd_bt,    FALSE);
        eui->insert_set_bt = CreateMenuButton(menupane,
            "Set", '\0', add_set_cb, eui);
        WidgetSetSensitive(eui->insert_set_bt,    FALSE);
        eui->insert_axisgrid_bt = CreateMenuButton(menupane,
            "Axis grid", '\0', add_axisgrid_cb, eui);
        WidgetSetSensitive(eui->insert_axisgrid_bt,   FALSE);
        eui->insert_axis_bt = CreateMenuButton(menupane,
            "Axis", '\0', add_axis_cb, eui);
        WidgetSetSensitive(eui->insert_axis_bt,   FALSE);
        eui->insert_object_pane = CreateMenu(menupane, "Annotating objects", 'o', FALSE);
        WidgetSetSensitive(eui->insert_object_pane, FALSE);
        eui->insert_text_bt = CreateMenuButton(eui->insert_object_pane,
            "Text", '\0', add_object_cb, eui);
        eui->insert_line_bt = CreateMenuButton(eui->insert_object_pane,
            "Line", '\0', add_object_cb, eui);
        eui->insert_box_bt = CreateMenuButton(eui->insert_object_pane,
            "Box", '\0', add_object_cb, eui);
        eui->insert_arc_bt = CreateMenuButton(eui->insert_object_pane,
            "Arc", '\0', add_object_cb, eui);

        menupane = CreateMenu(menubar, "Options", 'O', FALSE);
        eui->instantupdate = CreateMenuToggle(menupane, "Instantaneous update",
                            'u', NULL, NULL);
        ToggleButtonSetState(eui->instantupdate, gui->instant_update);

        menupane = CreateMenu(menubar, "Help", 'H', TRUE);
        CreateMenuHelpButton(menupane, "On explorer", 'e',
            eui->top, "doc/UsersGuide.html#explorer");

        panel = CreatePanedWindow(eui->top);

        form = CreateForm(panel);
        PlaceGridChild(panel, form, 0, 0); /* in case if CreatePanedWindow creates a grid */

        eui->tree = CreateTree(form);
        AddTreeHighlightItemsCB(eui->tree, highlight_cb, eui);
        AddTreeContextMenuCB(eui->tree, menu_cb, eui);
        AddTreeDropItemsCB(eui->tree, drop_cb, eui);
        FormAddVChild(form, eui->tree);

        fr = CreateFrame(form, NULL);
        eui->idstr = CreateText(fr, "ID string:");
        AddTextActivateCB(eui->idstr, text_explorer_cb, eui);
        FormAddVChild(form, fr);
        FormFixateVChild(fr);
        
        eui->scrolled_window = CreateScrolledWindow(panel);
        PlaceGridChild(panel, eui->scrolled_window, 1, 0); /* in case if CreatePanedWindow creates a grid */

        PanedWindowSetMinWidth(form, 150);
        WidgetSetWidth(form, 250);

        WidgetManage(form);

#ifdef HAVE_LESSTIF
# if !defined(SF_BUG_993209_FIXED) && !defined(SF_BUG_993209_NOT_FIXED)
#  error "You should check whether SF bug #993209 is fixed in your version of LessTif."
#  error "Then define either SF_BUG_993209_FIXED or SF_BUG_993209_NOT_FIXED, accordingly."
#  error "See http://sourceforge.net/tracker/index.php?func=detail&aid=993209&group_id=8596&atid=108596."
# endif
# ifdef SF_BUG_993209_NOT_FIXED
        /* A dirty workaround */
        eui->scrolled_window = CreateVContainer(eui->scrolled_window);
# endif
#endif

        eui->project_ui = create_project_ui(eui);
        WidgetUnmanage(eui->project_ui->top);

	eui->ssd_ui = create_ssd_ui(eui);
        WidgetUnmanage(eui->ssd_ui->top);

	eui->frame_ui = create_frame_ui(eui);
        WidgetUnmanage(eui->frame_ui->top);

	eui->graph_ui = create_graph_ui(eui);
        WidgetUnmanage(eui->graph_ui->top);

	eui->set_ui = create_set_ui(eui);
        WidgetUnmanage(eui->set_ui->top);

	eui->axisgrid_ui = create_axisgrid_ui(eui);
        WidgetUnmanage(eui->axisgrid_ui->top);

	eui->axis_ui = create_axis_ui(eui);
        WidgetUnmanage(eui->axis_ui->top);

	eui->object_ui = create_object_ui(eui);
        WidgetUnmanage(eui->object_ui->top);

	eui->atext_ui = create_atext_ui(eui);
        WidgetUnmanage(eui->atext_ui->top);

	eui->region_ui = create_region_ui(eui);
        WidgetUnmanage(eui->region_ui->top);

        eui->aacbuts = CreateAACDialog(eui->top, panel, explorer_aac, eui);

        WidgetManage(eui->tree);

        /* Menu popup */
        eui->popup = CreatePopupMenu(eui->tree);
        eui->popup_hide_bt = CreateMenuButton(eui->popup,
            "Hide", '\0', hide_cb, eui);
        eui->popup_show_bt = CreateMenuButton(eui->popup,
            "Show", '\0', show_cb, eui);

        CreateMenuSeparator(eui->popup);

        eui->popup_delete_bt = CreateMenuButton(eui->popup,
            "Delete", '\0', delete_cb, eui);
        eui->popup_duplicate_bt = CreateMenuButton(eui->popup,
            "Duplicate", '\0', duplicate_cb, eui);

        /* Project menu popup */
        eui->project_popup = CreatePopupMenu(eui->tree);
        eui->project_popup_show_bt = CreateMenuButton(eui->project_popup,
            "Show", '\0', project_show_cb, eui);

        CreateMenuSeparator(eui->project_popup);

        eui->project_popup_save_bt = CreateMenuButton(eui->project_popup,
            "Save", '\0', project_save_cb, eui);
        eui->project_popup_save_as_bt = CreateMenuButton(eui->project_popup,
            "Save as...", '\0', project_save_as_cb, eui);
        eui->project_popup_revert_to_saved_bt = CreateMenuButton(eui->project_popup,
            "Revert to saved", '\0', project_revert_to_saved_cb, eui);

        CreateMenuSeparator(eui->project_popup);

        eui->project_popup_close_bt = CreateMenuButton(eui->project_popup,
            "Close", '\0', project_close_cb, eui);

        init_quark_tree(eui);

        if (!q && gapp->gp) {
            select_quark_explorer(gproject_get_top(gapp->gp));
        }
    }
#ifdef QT_GUI
    /* TODO: use resources */
    WidgetSetSize(gui->eui->top, 650, 600);
#endif
    DialogRaise(gui->eui->top);
    
    if (q) {
        select_quark_explorer(q);
    }

    update_undo_buttons(gapp->gp);

    unset_wait_cursor();
}
コード例 #4
0
ファイル: ItemList.cpp プロジェクト: NeoAnomaly/xray
TItemList* TItemList::CreateModalForm(LPCSTR title, u32 flags)
{
	return CreateForm			(title,0,alNone,flags);
}