Example #1
0
        public static void ShowProjectDescription(
            string projNodeName)
        {
            StreamWriter sw;
            string       html, htmlFileName, flowScheme = "", flowSchemeFileName = "";

            ProjectDescriptionDialog form = new ProjectDescriptionDialog();

            MetaTreeNode mtn   = MetaTree.GetNode(projNodeName);
            string       title = (mtn != null ? mtn.Label : projNodeName);

            html = GetProjectHtmlDescription(projNodeName);
            if (Lex.IsNullOrEmpty(html))
            {
                html = "Unable to retrieve project description";
            }

            string[] sa = html.Split('\v');
            if (sa.Length >= 2)             // write flowscheme if exists
            {
                html               = sa[0];
                flowScheme         = sa[1];
                flowSchemeFileName = ClientDirs.TempDir + @"\FlowScheme" + UIMisc.PopupCount + ".xml";
                sw = new StreamWriter(flowSchemeFileName);
                sw.Write(flowScheme);
                sw.Close();
            }

            htmlFileName = ClientDirs.TempDir + @"\PopupHtml" + UIMisc.PopupCount + ".htm";

            sw = new StreamWriter(htmlFileName);
            sw.Write(html);
            sw.Close();

            UIMisc.PositionPopupForm(form);
            form.Text = title;
            form.Show();

            form.WebBrowser.Navigate(htmlFileName);

            if (flowSchemeFileName != "")
            {
                form.OpenFlowSchemeDiagram(flowSchemeFileName);
            }

            form.Tabs.SelectedTabPageIndex = 0;

            UsageDao.LogEvent("ShowProject", projNodeName);
            return;
        }
Example #2
0
/// <summary>
/// Show the specified query in a new PopupResults form
/// </summary>
/// <param name="qm"></param>
/// <param name="html"></param>
/// <param name="title"></param>

        public static void ShowHtml(         // navigate browser to a document
            QueryManager qm,
            string html,
            string title)
        {
            string uri;
            int    pi;

            Progress.Hide();             // hide any progress so popup gets focus

            uri = ClientDirs.TempDir + @"\PopupResults" + "1" + ".htm";

            StreamWriter sw = new StreamWriter(uri);

            sw.Write(html);
            sw.Close();

            PopupResults pr = new PopupResults();

            UIMisc.PositionPopupForm(pr);
            pr.Text = title;

            QueryResultsControl qrc = pr.QueryResultsControl;

            qm.LinkMember(qrc);
            Query q = qm.Query;

            qrc.BuildResultsPagesTabs(q);

            for (pi = 0; pi < q.ResultsPages.Pages.Count; pi++)
            {
                ResultsPage page = q.ResultsPages.Pages[pi];
                for (int vi = 0; vi < page.Views.Count; vi++)
                {
                    ResultsViewProps view = page.Views[vi];
                    if (view.ViewType == ResultsViewType.HtmlTable)
                    {
                        view.Title      = title;
                        view.ContentUri = uri;                         // plug in file name for uri
                    }
                }
            }

            pr.Show();
            qrc.ConfigureResultsPage(0);             // render the first page

            UIMisc.BringFormToFront(pr);
            return;
        }
Example #3
0
        /// <summary>
        /// Show popup results in a results window
        /// </summary>
        /// <param name="qm"></param>
        /// <param name="title"></param>

        public static void Show(
            QueryManager qm)
        {
            string uri;
            int    pi, posDelta = 20;

            Progress.Hide();             // hide any progress so popup gets focus

            string title = qm.Query.UserObject.Name;

            PopupResults pr = new PopupResults();

            UIMisc.PositionPopupForm(pr);
            pr.Text = title;

            QueryResultsControl qrc = pr.QueryResultsControl;

            qm.LinkMember(qrc);
            Query q = qm.Query;

            qrc.BuildResultsPagesTabs(q);

            if (q.ResultsPages.Pages.Count <= 1)             // hide tabs if only one
            {
                qrc.ResultsLabel.Visible = qrc.Tabs.Visible = false;
            }


            //qrc.ToolPanel.Visible = false; // hide tools for now (e.g. Edit Query)

            //if (q.ResultsPages.Pages.Count <= 1) // hide tabs if only one
            //{
            //	PanelControl pc = qrc.ResultsPagePanelContainer;
            //	int delta = pc.Top;
            //	pc.Top = 0;
            //	pc.Height += delta;
            //}

            pr.Show();
            //qrc.ConfigureResultsPage(0); // render the first page
            qrc.SelectPage(q.InitialBrowsePage);             // show the initial browse page

            UIMisc.BringFormToFront(pr);
            return;
        }
Example #4
0
        /// <summary>
        /// Open a spotfire link or webplayer url
        /// Example: https://[server]/SpotfireWeb/ViewAnalysis.aspx?file=/Mobius/Visualizations/MdbAssay_MOBIUS&configurationBlock=CorpId_LIST={1,3,5};
        /// Example: https://[server]/SpotfireWeb/ViewAnalysis.aspx?file=/Mobius/Visualizations/SELECT_MOBIUS_DATA_Test&configurationBlock=SQLPARMS="1,3,5,7,9";
        /// </summary>
        /// <param name="link">Open a spotfire link or Webplayer URL </param>
        /// <param name="browserControl"></param>

        public static void OpenLink(
            string link,
            string title,
            WebBrowser browserControl)
        {
            SpotfireViewProps sl = null;
            UserObject        uo = null;
            UserObjectType    uoType;
            string            url;
            PopupHtml         form;
            int uoId;

            if (Lex.IsUndefined(title))
            {
                title = link;
            }

            if (Lex.IsUndefined(link))             // prompt for the link to open
            {
                string prompt = "Open Spotfire Link ";
                uo = UserObjectOpenDialog.ShowDialog(UserObjectType.SpotfireLink, prompt);
                if (uo == null)
                {
                    return;
                }
                link = uo.InternalName;
            }

            if (Lex.StartsWith(link, "SPOTFIRELINK_"))             // get the link user object
            {
                string internalName = link;
                bool   parseOk      = UserObject.ParseObjectTypeAndIdFromInternalName(link, out uoType, out uoId);
                uo = UserObjectDao.Read(uoId);
                if (uo == null)
                {
                    throw new Exception("User object not found " + internalName);
                }
                sl    = SpotfireViewProps.Deserialize(uo.Content);
                title = uo.Name;
                url   = BuildUrl(sl);
                if (Lex.IsUndefined(url))
                {
                    return;                                       // cancelled
                }
            }

            else
            {
                url = link;              // assume link is a complete url
            }
            if (browserControl == null)  // Open the link within a WebBrowser control
            {
                form = new PopupHtml();
                UIMisc.PositionPopupForm(form);
                form.Text = title;
                form.Show();
                browserControl = form.WebBrowser;
            }

            browserControl.Navigate(url);

            return;
        }
Example #5
0
        /// <summary>
        /// Format grid and show the data
        /// </summary>
        /// <param name="qm"></param>
        /// <param name="container">Either a QueryResultsControl or a PopupGrid</param>

        public static void ConfigureAndShow(
            QueryManager qm,
            Control container)
        {
            QueryResultsControl     qrc = null;
            PopupGrid               pug = null;
            MoleculeGridPageControl page;
            MoleculeGridPanel       panel;
            MoleculeGridControl     grid;

            Query         q  = qm.Query;
            ResultsFormat rf = qm.ResultsFormat;

            //qm.QueryResultsControl = null;

            page = new MoleculeGridPageControl();             // Create a new, clean page, panel and grids

            panel = page.MoleculeGridPanel;
            grid  = panel.SelectBaseGridViewGrid(qm);
            qm.LinkMember(grid);             // link grid into qm
            grid.ShowCheckMarkCol = q.ShowGridCheckBoxes;

            DataTableMx dt = qm.DataTable;                                        // save ref to data table

            grid.DataSource = null;                                               // clear source for header build
            qm.DataTable    = dt;                                                 // restore data table
            grid.FormatGridHeaders(qm.ResultsFormat);                             // qm.MoleculeGrid.V.Columns.Count should be set for proper cols

            if (container is QueryResultsControl && rf.NotPopupOutputFormContext) // normal query results
            {
                qrc = container as QueryResultsControl;
                qrc.RemoveExistingControlsFromResultsPageControlContainer(); // properly dispose of any existing DevExpress controls

                qrc.MoleculeGridPageControl = page;                          // link query results to this page
                qrc.ResultsPageControlContainer.Controls.Add(page);
                page.Dock = DockStyle.Fill;
                //qm.QueryResultsControl = qrc; // link view set into query manager (used for filtering)

                if (q.Parent == null)                 // switch display to browse mode if root query
                {
                    QbUtil.SetMode(QueryMode.Browse, q);
                }

                if (rf.Query.LogicType == QueryLogicType.And)                 // log grid query by logic type
                {
                    UsageDao.LogEvent("QueryGridAnd", "");
                }
                else if (rf.Query.LogicType == QueryLogicType.Or)
                {
                    UsageDao.LogEvent("QueryGridOr", "");
                }
                else if (rf.Query.LogicType == QueryLogicType.Complex)
                {
                    UsageDao.LogEvent("QueryGridComplex", "");
                }
            }

            else if (container is PopupGrid || rf.PopupOutputFormContext)             // popup results
            {
                if (container is PopupGrid)
                {
                    pug = container as PopupGrid;
                }

                else                 // create a popup
                {
                    pug      = new PopupGrid(qm);
                    pug.Text = q.UserObject.Name;
                }

                if (pug.Controls.ContainsKey(panel.Name))                 // remove any existing panel control
                {
                    pug.Controls.RemoveByKey(panel.Name);
                }
                pug.Controls.Add(panel);
                pug.MoleculeGridPanel = panel;                 // restore direct link as well

                grid.ScaleView(q.ViewScale);
                UIMisc.PositionPopupForm(pug);
                pug.Text = q.UserObject.Name;
                pug.Show();
            }

            else
            {
                throw new Exception("Invalid container type: " + container.GetType());
            }

            // Set the DataSource to the real DataTable

            panel.SetDataSource(qm, dt);

            return;
        }