Пример #1
0
    public void InitElements()
    {
        // create objs for Element Board
        List <string> keys = new List <string>(dicElements.Keys);

        for (int i = 0; i < keys.Count; i++)
        {
            string      panelTitle = keys[i];
            CommonPanel panel      = (CanvasMgr.Instance.GetBoard <ElementBoard>() as ElementBoard).AddPanel(panelTitle) as CommonPanel;

            if (panel)
            {
                List <string> panelVars = dicElements[panelTitle];
                for (int j = 0; j < panelVars.Count; j++)
                {
                    string var = panelVars[j];
                    if (var.Contains("#"))
                    {
                        panel.AddLinkLabel(var.Replace("#", ""));
                    }
                    else
                    {
                        panel.AddInputLabel(var);
                    }
                }
            }
        }

        // create objs for Story Board
        keys = new List <string>(dicStories.Keys);
        for (int i = 0; i < keys.Count; i++)
        {
            string      key   = keys[i];
            CommonPanel panel = (CanvasMgr.Instance.GetBoard <StoryBoard>() as StoryBoard).AddPanel(key) as CommonPanel;
            if (panel)
            {
                List <string> vars = dicStories[key];
                for (int j = 0; j < vars.Count; j++)
                {
                    string var = vars[j];
                    if (var.Contains("#"))
                    {
                        panel.AddLinkLabel(var.Replace("#", ""));
                    }
                    else
                    {
                        panel.AddInputLabel(var);
                    }
                }
            }
        }

        // save index data for all panels (at first)
        if (dataIndexer.dataIndexes.Count == 0)
        {
            SaveIndexData();
        }

        isInitDone = true;
    }
Пример #2
0
        public void UpdateObjectFromFields()
        {
            SelectedItem.CodeInBody = "";
            SelectedItem.CodeInHead = "";

            CommonPanel.UpdateObjectFromFields();
        }
Пример #3
0
    // ========================================= PRIVATE FUNCS =========================================
    private void AddChildPanel(OriginPanel originPanel, LinkLabel linkLabel)
    {
        CommonPanel comPanel = linkLabel.GetReferPanel();

        // foreach all of labels
        List <Label> labels = comPanel.GetLabels();

        if (labels.Count == 0)
        {
            return;
        }

        Label label = labels[Random.Range(0, labels.Count)];

        // add normal label
        if (label is InputLabel)
        {
            originPanel.AddLabel(label);

            if (resultText.Length > 0)
            {
                resultText += " ";
            }
            resultText += label.GetText();
        }
        // add origin panel (for linking label)
        else if (label is LinkLabel)
        {
            CommonPanel referPanel = (label as LinkLabel).GetReferPanel();

            OriginPanel genPanel = originPanel.AddOriginPanel(referPanel);
            // loop add all labels of the generated panel
            AddChildPanel(genPanel, label as LinkLabel);
        }
    }
Пример #4
0
 private void CommonPanel_MouseClick(object sender, MouseEventArgs e)
 {
     try
     {
         int selected = -1;
         for (int i = 0; i < ElementTable.Elements.Length; i++)
         {
             if (ElementTable.Elements[i].Row >= 9)
             {
                 continue;
             }
             if (e.X > SelectionRect[i].X && e.Y > SelectionRect[i].Y &&
                 e.X < SelectionRect[i].X + SelectionRect[i].Width &&
                 e.Y < SelectionRect[i].Y + SelectionRect[i].Height)
             {
                 selected = i;//ElementTable.Elements[i].Num;
                 break;
             }
         }
         if (selected == -1)
         {
             return;
         }
         SelectionTable[selected] = !SelectionTable[selected];
         CommonPanel.Refresh();
         if (SelectorListener != null)
         {
             SelectorListener();
         }
     }
     catch (Exception ex)
     {
         Log.Out(ex);
     }
 }
Пример #5
0
 private void AddWebsiteSettingsTab()
 {
     if (BasePage.CurrentUser.IsInRole(RoleEnum.Developer))
     {
         CommonPanel.AddTab("Website Settings", "~/Admin/Controls/MediaTypes/Website/Tabs/WebsiteSettingsTab.ascx");
     }
 }
Пример #6
0
        private void TeacherFunctionForm_Load(object sender, EventArgs e)
        {
            ViewHelper.MdiChildrenAutoSize(this);
            this.Dock = DockStyle.Fill;
            CommonPanel.Show();
            autoSetQuestionPanel.Hide();
            setQuestionConfirmPanel.Hide();
            setQuestionPanel.Hide();
            paperInfoPanel.Hide();
            scoreInfoPanel.Hide();
            //给tlpMark中的button的tag赋值,必须在 ViewHelper.MdiChildrenAutoSize(this)之后
            btnSelect1.Tag      = "1,1";
            btnSelect2.Tag      = "1,2";
            btnSelect3.Tag      = "1,3";
            btnSelect4.Tag      = "1,4";
            btnSelect5.Tag      = "1,5";
            btnBlank1.Tag       = "2,1";
            btnBlank2.Tag       = "2,2";
            btnBlank3.Tag       = "2,3";
            btnBlank4.Tag       = "2,4";
            btnBlank5.Tag       = "2,5";
            btnJudge1.Tag       = "4,1";
            btnJudge2.Tag       = "4,2";
            btnJudge3.Tag       = "4,3";
            btnJudge4.Tag       = "4,4";
            btnJudge5.Tag       = "4,5";
            btnShortAnswer1.Tag = "3,3";
            btnShortAnswer2.Tag = "3,5";
            btnShortAnswer3.Tag = "3,7";
            btnShortAnswer4.Tag = "3,10";
            btnShortAnswer5.Tag = "3,15";
            //给自动出题题目个数选择框的tag赋值,必须在 ViewHelper.MdiChildrenAutoSize(this)之后
            nudSelectNum.Tag      = "1";
            nudBlankNum.Tag       = "2";
            nudJudgeNum.Tag       = "4";
            nudShortAnswerNum.Tag = "3";
            nudSelectMark.Tag     = nudBlankMark.Tag = nudJudgeMark.Tag = nudShortAnswerMark.Tag = null;
            //按下NumericUpDown控件的上或下箭头2s后,数值变化将以10为单位
            NumericUpDownAcceleration acceleration = new NumericUpDownAcceleration(2, 10);

            nudMark.Accelerations.Add(acceleration);
            nudSelectNum.Accelerations.Add(acceleration);
            nudSelectMark.Accelerations.Add(acceleration);
            nudBlankNum.Accelerations.Add(acceleration);
            nudBlankMark.Accelerations.Add(acceleration);
            nudJudgeNum.Accelerations.Add(acceleration);
            nudJudgeMark.Accelerations.Add(acceleration);
            nudShortAnswerNum.Accelerations.Add(acceleration);
            nudShortAnswerMark.Accelerations.Add(acceleration);
            //创建一个试卷名称对话框的实例
            pNameDialog       = new PaperNameDialog();
            pNameDialog.Owner = this;
            ////创建一个评分对话框的实例
            //dialog = new PaperDialog();
            //dialog.Owner = this;
        }
        public void UpdateFieldsFromObject()
        {
            var selectedItem = (FrameworkLibrary.UrlRedirectRule)SelectedItem;

            VirtualPathToRedirect.Text = selectedItem.VirtualPathToRedirect;
            RedirectToUrl.Text         = MediaDetailsMapper.ConvertUrlsToShortCodes(selectedItem.RedirectToUrl);
            Is301Redirect.Checked      = selectedItem.Is301Redirect;

            CommonPanel.UpdateFieldsFromObject();
        }
Пример #8
0
    public void Init(Panel parent, string panelKey)
    {
        base.Init(parent);

        // store reference panel
        referPanel = null;

        // set title equal to the one of reference label
        referralKey = panelKey;
        SetText(referralKey);
    }
Пример #9
0
 private void StudentFunctionForm_Load(object sender, EventArgs e)
 {
     ViewHelper.MdiChildrenAutoSize(this);
     this.Dock = DockStyle.Fill;
     CommonPanel.Show();
     paperPanel.Hide();
     ScorePanel.Hide();
     ////创建一个答题对话框的实例
     //dialog = new AnswerDialog();
     //dialog.Owner = this;
 }
Пример #10
0
    // Use this for initialization
    void Start()
    {
        commonPanel       = FindObjectOfType <CommonPanel>();
        commonParameter   = FindObjectOfType <CommonParameter>();
        daughterPanel     = FindObjectOfType <DaughterPanel>();
        daughterParameter = FindObjectOfType <DaughterParameter>();
        fatherPanel       = FindObjectOfType <FatherPanel>();
        fatherParameter   = FindObjectOfType <FatherParameter>();

        Initialize();
    }
Пример #11
0
 private void FobidenElements_ItemCheck(object sender, ItemCheckEventArgs e)
 {
     try
     {
         CommonPanel.Refresh();
         REPanel.Refresh();
     }
     catch (Exception ex)
     {
         Log.Out(ex);
     }
 }
Пример #12
0
 private void FobidenElements_SelectedIndexChanged(object sender, EventArgs e)
 {
     try
     {
         CommonPanel.Refresh();
         REPanel.Refresh();
     }
     catch (Exception ex)
     {
         Log.Out(ex);
     }
 }
Пример #13
0
 // ========================================= GET/ SET =========================================
 public Panel GetPanel(string key)
 {
     for (int i = 0; i < lPanels.Count; i++)
     {
         CommonPanel panel = lPanels[i] as CommonPanel;
         if (panel.GetTitle() == key)
         {
             return(panel);
         }
     }
     return(null);
 }
Пример #14
0
    public void ShowResult(CommonPanel panel)
    {
        // clear old result
        for (int i = 0; i < transPanelCont.childCount; i++)
        {
            Destroy(transPanelCont.GetChild(i).gameObject);
        }

        resultText = "";
        // show title
        string valText = panel.GetTitleObj().GetTextObject().text;

        sentencePanel.SetValue(valText);

        // show result
        List <Label> labels = panel.GetLabels();

        for (int i = 0; i < labels.Count; i++)
        {
            Label label = labels[i];
            if (label is InputLabel)
            {
                // create simple label
                Label genLabel = Instantiate(prefLabel, transPanelCont).GetComponent <Label>();
                genLabel.Init();
                genLabel.SetText(label.GetTextObject());

                if (resultText.Length > 0)
                {
                    resultText += " ";
                }
                resultText += label.GetText();
            }
            else if (label is LinkLabel)
            {
                // create origin label (nest labels)
                OriginPanel genPanel = Instantiate(prefOriginPanel, transPanelCont).GetComponent <OriginPanel>();
                genPanel.Init();
                // change title for this panel
                CommonPanel referPanel = (label as LinkLabel).GetReferPanel();
                genPanel.SetTitle(referPanel.GetTitleLabel().GetTextObject().text);
                genPanel.SetColor(referPanel.GetColorType());

                // add child labels for genereted panel
                AddChildPanel(genPanel, label as LinkLabel);
            }
        }

        CanvasMgr.Instance.RefreshCanvas();

        (CanvasMgr.Instance.GetBoard <ResultBoard>() as ResultBoard).ShowResult(resultText);
    }
Пример #15
0
    public void AddLinkLabel(CommonPanel referPanel)
    {
        if (prefInputLabel)
        {
            // gen new label
            LinkLabel label = Instantiate(prefLinkLabel, transform).GetComponent <LinkLabel>();
            label.Init(GetParent(), referPanel);
            lLabels.Add(label);

            // refresh canvas
            CanvasMgr.Instance.RefreshCanvas();
        }
    }
Пример #16
0
 private void SelectElementBtn_Click(object sender, EventArgs e)
 {
     try
     {
         SetSelection(true);
         CommonPanel.Refresh();
         REPanel.Refresh();
     }
     catch (Exception ex)
     {
         Log.Out(ex);
     }
 }
Пример #17
0
    // ========================================= PUBLIC FUNCS =========================================
    public void Init(Panel parent, CommonPanel panel)
    {
        base.Init(parent);

        // store reference panel
        referPanel = panel;

        // set title equal to the one of reference label
        referralKey = referPanel.titleLabel.GetText();
        SetText(referralKey);

        // set color
        SetColor(referPanel.GetColorType());
    }
Пример #18
0
    public void Init(CommonPanel labelCont)
    {
        contParent = labelCont;

        // load prefabs
        prefInputLabel = Resources.Load <GameObject>(DataConfig.prefInputLabelPath);
        prefLinkLabel  = Resources.Load <GameObject>(DataConfig.prefLinkLabelPath);

        // add template first row
        for (int i = 0; i < transform.childCount; i++)
        {
            Destroy(transform.GetChild(i).gameObject);
        }
    }
        public void UpdateObjectFromFields()
        {
            var selectedItem = (FrameworkLibrary.UrlRedirectRule)SelectedItem;

            selectedItem.VirtualPathToRedirect = VirtualPathToRedirect.Text;

            if (!selectedItem.VirtualPathToRedirect.EndsWith("/"))
            {
                selectedItem.VirtualPathToRedirect = selectedItem.VirtualPathToRedirect + "/";
            }

            selectedItem.RedirectToUrl = RedirectToUrl.Text;
            selectedItem.Is301Redirect = Is301Redirect.Checked;

            CommonPanel.UpdateObjectFromFields();
        }
Пример #20
0
    public OriginPanel AddOriginPanel(CommonPanel panel)
    {
        GameObject prefOriginPanel = Resources.Load <GameObject>(DataConfig.prefOriginPanelPath);

        if (prefOriginPanel)
        {
            // add child panel
            OriginPanel genPanel = Instantiate(prefOriginPanel, transLabelCont).GetComponent <OriginPanel>();
            genPanel.Init();
            // change title
            genPanel.SetTitle(panel.GetTitleLabel().GetTextObject().text);
            genPanel.SetColor(panel.GetColorType());

            return(genPanel);
        }
        return(null);
    }
Пример #21
0
    void Update()
    {
        base.Update();

        // update text following referral panel
        if (referPanel)
        {
            if (referralKey.Length > 0)
            {
                string referralTitle = referPanel.titleLabel.GetText();

                if (referralTitle.Length > 0 && referralKey != referralTitle)
                {
                    referralKey = referralTitle;
                    SetText(referralTitle);
                }
            }
            // update color following color of referral panel
            if (GetColorType() != referPanel.GetColorType())
            {
                SetColor(referPanel.GetColorType());
            }
        }
        // finding refer panel
        else if (!isLinked)
        {
            isLinked = true;

            Panel panel = (CanvasMgr.Instance.GetBoard <ElementBoard>() as ElementBoard).GetPanel(referralKey);
            if (panel == null)
            {
                panel = (CanvasMgr.Instance.GetBoard <StoryBoard>() as StoryBoard).GetPanel(referralKey);
            }

            if (panel)
            {
                referPanel = panel as CommonPanel;
            }
        }
        else
        {
            Destroy(gameObject);
        }
    }
Пример #22
0
        private void HaEditor_Load(object sender, EventArgs e)
        {
            // This has to be here and not in .ctor for some reason, otherwise subwindows are not locating properly
            tilePanel = new TilePanel(hcsm)
            {
                Enabled = false
            };
            objPanel = new ObjPanel(hcsm)
            {
                Enabled = false
            };
            lifePanel = new LifePanel(hcsm)
            {
                Enabled = false
            };
            portalPanel = new PortalPanel(hcsm)
            {
                Enabled = false
            };
            bgPanel = new BackgroundPanel(hcsm)
            {
                Enabled = false
            };
            commonPanel = new CommonPanel(hcsm)
            {
                Enabled = false
            };

            List <DockContent> dockContents = new List <DockContent> {
                tilePanel, objPanel, lifePanel, portalPanel, bgPanel, commonPanel
            };

            dockContents.ForEach(x => x.Show(dockPanel));
            dockContents.ForEach(x => x.DockState = DockState.DockRight);
            dockContents.ForEach(x => x.DockAreas = DockAreas.DockRight);
            commonPanel.Pane = bgPanel.Pane = portalPanel.Pane = lifePanel.Pane = objPanel.Pane = tilePanel.Pane;

            if (!hcsm.backupMan.AttemptRestore())
            {
                hcsm.LoadMap(new Load(multiBoard, tabs, hcsm.MakeRightClickHandler()));
            }
        }
Пример #23
0
    public void AddLinkLabel(CommonPanel referPanel)
    {
        // add new row if empty
        if (lLabelRows.Count == 0)
        {
            AddLabelRow();
        }

        if (lLabelRows.Count > 0)
        {
            // append label to last row
            RowLabelMgr rowLabel = lLabelRows[lLabelRows.Count - 1];
            if (rowLabel)
            {
                rowLabel.AddLinkLabel(referPanel);     // add linking panel

                OnChildLabelEditDone();
                CanvasMgr.Instance.RefreshCanvas();
            }
        }
    }
Пример #24
0
 private void btnScoreToCommon_Click(object sender, EventArgs e)
 {
     ScorePanel.Hide();
     CommonPanel.Show();
 }
Пример #25
0
 private void btnScore_Click(object sender, EventArgs e)
 {
     CommonPanel.Hide();
     ScorePanel.Show();
     showAllScores();
 }
Пример #26
0
 private void btnExam_Click(object sender, EventArgs e)
 {
     CommonPanel.Hide();
     paperPanel.Show();
     showAllPapers();
 }
Пример #27
0
 public void UpdateObjectFromFields()
 {
     CommonPanel.UpdateObjectFromFields();
 }
Пример #28
0
    public void SaveDataInfo(CommonPanel panel)
    {
        if (!isInitDone)
        {
            return;
        }

        // determine panel is in which board (element or story)
        List <Label> labels = panel.GetLabels();
        //if (labels.Count == 0)
        //    return;

        // save val
        DataType type = panel.GetBoard() is ElementBoard ? DataType.Element : DataType.Story;

        // get all text of label of panel
        List <string> vars = new List <string>();

        for (int i = 0; i < labels.Count; i++)
        {
            Label  label = labels[i];
            string var   = "";
            // element of Element Board
            if (type == DataType.Element)
            {
                if (label is LinkLabel)
                {
                    // store the connection
                    //AddLinkingVal(labelText, key);

                    var = "#" + label.GetText() + "#";
                }
                else
                {
                    var = label.GetText();
                }
            }
            // element of Story Board
            else
            {
                if (label is LinkLabel)
                {
                    // store the connection
                    //AddLinkingVal(labelText, key);

                    var = "#" + label.GetText() + "#";
                }
                else
                {
                    var = label.GetText();
                }
            }

            vars.Add(var);
        }

        // get key of panel
        string key = panel.GetTitle();

        if (IsContainDataInfo(type, key))
        {
            AddDataInfo(type, key, vars);
        }
        else
        {
            ReplaceDataInfo(type, key, vars);
        }

        // save index data
        SaveIndexData(panel);
    }
Пример #29
0
 public void UpdateFieldsFromObject()
 {
     CommonPanel.UpdateFieldsFromObject();
 }
Пример #30
0
 private void btnPaperToCommon_Click(object sender, EventArgs e)
 {
     paperPanel.Hide();
     CommonPanel.Show();
 }