Beispiel #1
0
    private bool OnRenameLayout(string layoutName)
    {
        string oldName = (string)m_SavedLayoutListBox.SelectedItem;

        if (oldName.Equals(layoutName))
        {
            return(true);
        }
        if (CSVLayoutManager.Instance.ExistSpecific(layoutName))
        {
            MessageBox.Show(string.Format("", layoutName), "提示", MessageBoxButtons.OK);
            return(false);
        }

        CSVLayout layout = CSVLayoutManager.Instance.LoadOrCreateSpecific(oldName);

        layout.Key = layoutName;
        CSVLayoutManager.Instance.SaveSpecific();

        int selectedIdx = m_SavedLayoutListBox.SelectedIndex;

        UpdateListBox();
        m_SavedLayoutListBox.SelectedIndex = selectedIdx;
        UpdateButtonEnable();
        return(true);
    }
Beispiel #2
0
    public void LoadLayout()
    {
        m_Layout = CSVLayoutManager.Instance.LoadOrCreate(SourcePath);

        LoadCellSize();
        LoadFrozen();

        UpdateFormText();
    }
Beispiel #3
0
    /// <summary>
    /// 应用布局
    /// </summary>
    private void OnApplyLayoutToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ToolStripMenuItem item   = (ToolStripMenuItem)sender;
        CSVLayout         layout = CSVLayoutManager.Instance.LoadOrCreateSpecific(item.Name);

        CSVLayoutManager.Instance.Replace(m_CSVForm.GetLayout(), layout);
        CSVLayoutManager.Instance.Save();
        m_CSVForm.LoadLayout();
    }
 public void AddSpecific(CSVLayout layout)
 {
     for (int layoutIdx = 0; layoutIdx < m_SpecificLayoutList.Count; layoutIdx++)
     {
         if (layout.Key == m_SpecificLayoutList[layoutIdx].Key)
         {
             m_SpecificLayoutList[layoutIdx] = layout;
             return;
         }
     }
     m_SpecificLayoutList.Add(layout);
 }
    public void SwapSpecific(int index1, int index2)
    {
        if (index1 < 0 || index2 < 0 || index1 > m_SpecificLayoutList.Count - 1 || index2 > m_SpecificLayoutList.Count - 1)
        {
            return;
        }

        CSVLayout layout1 = m_SpecificLayoutList[index1];
        CSVLayout layout2 = m_SpecificLayoutList[index2];

        m_SpecificLayoutList[index1] = layout2;
        m_SpecificLayoutList[index2] = layout1;
    }
    public void Replace(CSVLayout oldLayout, CSVLayout newLayout)
    {
        CSVLayout newLayoutCopy = SerializeUtility.ObjectCopy(newLayout);

        newLayoutCopy.Key = oldLayout.Key;
        for (int layoutIdx = 0; layoutIdx < m_LayoutList.Count; layoutIdx++)
        {
            if (oldLayout == m_LayoutList[layoutIdx])
            {
                m_LayoutList[layoutIdx] = newLayoutCopy;
                return;
            }
        }
    }
    private CSVLayout LoadOrCreate(List <CSVLayout> list, string key)
    {
        for (int layoutIdx = 0; layoutIdx < list.Count; layoutIdx++)
        {
            if (list[layoutIdx].Key == key)
            {
                return(list[layoutIdx]);
            }
        }

        CSVLayout newCSVLayout = new CSVLayout(key);

        list.Add(newCSVLayout);
        return(newCSVLayout);
    }
Beispiel #8
0
    private bool OnSaveLayout(string layoutName)
    {
        if (CSVLayoutManager.Instance.ExistSpecific(layoutName))
        {
            if (MessageBox.Show(string.Format("名为\"{0}\"的布局已存在。\n是否要替换?", layoutName), "提示", MessageBoxButtons.YesNo) == DialogResult.No)
            {
                return(false);
            }
        }
        m_CSVForm.SaveLayout();
        CSVLayout csvLayout = SerializeUtility.ObjectCopy(MainForm.Instance.m_CSVForm.GetLayout());

        csvLayout.Key = layoutName;
        CSVLayoutManager.Instance.AddSpecific(csvLayout);
        CSVLayoutManager.Instance.SaveSpecific();
        return(true);
    }