public bool AddNewTab(TabModel tab, bool startup)
{
//重複チェック
foreach (TabPage tb in ListTab.TabPages)
{
if (tb.Text == tab.TabName) return false;
}
//新規タブ名チェック
if (tab.TabName == Properties.Resources.AddNewTabText1) return false;
var _tabPage = new TabPage();
var _listCustom = new DetailsListView();
int cnt = ListTab.TabPages.Count;
///ToDo:Create and set controls follow tabtypes
using (ControlTransaction.Update(_listCustom))
using (ControlTransaction.Layout(this.SplitContainer1.Panel1, false))
using (ControlTransaction.Layout(this.SplitContainer1.Panel2, false))
using (ControlTransaction.Layout(this.SplitContainer1, false))
using (ControlTransaction.Layout(this.ListTab, false))
using (ControlTransaction.Layout(this))
using (ControlTransaction.Layout(_tabPage, false))
{
_tabPage.Controls.Add(_listCustom);
/// UserTimeline関連
var userTab = tab as UserTimelineTabModel;
var listTab = tab as ListTimelineTabModel;
var searchTab = tab as PublicSearchTabModel;
if (userTab != null || listTab != null)
{
var label = new Label();
label.Dock = DockStyle.Top;
label.Name = "labelUser";
label.TabIndex = 0;
if (listTab != null)
{
label.Text = listTab.ListInfo.ToString();
}
else if (userTab != null)
{
label.Text = userTab.ScreenName + "'s Timeline";
}
label.TextAlign = ContentAlignment.MiddleLeft;
using (ComboBox tmpComboBox = new ComboBox())
{
label.Height = tmpComboBox.Height;
}
_tabPage.Controls.Add(label);
}
/// 検索関連の準備
else if (searchTab != null)
{
var pnl = new Panel();
var lbl = new Label();
var cmb = new ComboBox();
var btn = new Button();
var cmbLang = new ComboBox();
using (ControlTransaction.Layout(pnl, false))
{
pnl.Controls.Add(cmb);
pnl.Controls.Add(cmbLang);
pnl.Controls.Add(btn);
pnl.Controls.Add(lbl);
pnl.Name = "panelSearch";
pnl.TabIndex = 0;
pnl.Dock = DockStyle.Top;
pnl.Height = cmb.Height;
pnl.Enter += SearchControls_Enter;
pnl.Leave += SearchControls_Leave;
cmb.Text = "";
cmb.Anchor = AnchorStyles.Left | AnchorStyles.Right;
cmb.Dock = DockStyle.Fill;
cmb.Name = "comboSearch";
cmb.DropDownStyle = ComboBoxStyle.DropDown;
cmb.ImeMode = ImeMode.NoControl;
cmb.TabStop = false;
cmb.TabIndex = 1;
cmb.AutoCompleteMode = AutoCompleteMode.None;
cmb.KeyDown += SearchComboBox_KeyDown;
cmbLang.Text = "";
cmbLang.Anchor = AnchorStyles.Left | AnchorStyles.Right;
cmbLang.Dock = DockStyle.Right;
cmbLang.Width = 50;
cmbLang.Name = "comboLang";
cmbLang.DropDownStyle = ComboBoxStyle.DropDownList;
cmbLang.TabStop = false;
cmbLang.TabIndex = 2;
cmbLang.Items.Add("");
cmbLang.Items.Add("ja");
cmbLang.Items.Add("en");
cmbLang.Items.Add("ar");
cmbLang.Items.Add("da");
cmbLang.Items.Add("nl");
cmbLang.Items.Add("fa");
cmbLang.Items.Add("fi");
cmbLang.Items.Add("fr");
cmbLang.Items.Add("de");
cmbLang.Items.Add("hu");
cmbLang.Items.Add("is");
cmbLang.Items.Add("it");
cmbLang.Items.Add("no");
cmbLang.Items.Add("pl");
cmbLang.Items.Add("pt");
cmbLang.Items.Add("ru");
cmbLang.Items.Add("es");
cmbLang.Items.Add("sv");
cmbLang.Items.Add("th");
lbl.Text = "Search(C-S-f)";
lbl.Name = "label1";
lbl.Dock = DockStyle.Left;
lbl.Width = 90;
lbl.Height = cmb.Height;
lbl.TextAlign = ContentAlignment.MiddleLeft;
lbl.TabIndex = 0;
btn.Text = "Search";
btn.Name = "buttonSearch";
btn.UseVisualStyleBackColor = true;
btn.Dock = DockStyle.Right;
btn.TabStop = false;
btn.TabIndex = 3;
btn.Click += SearchButton_Click;
if (!string.IsNullOrEmpty(searchTab.SearchWords))
{
cmb.Items.Add(searchTab.SearchWords);
cmb.Text = searchTab.SearchWords;
}
cmbLang.Text = searchTab.SearchLang;
_tabPage.Controls.Add(pnl);
}
}
_tabPage.Tag = _listCustom;
this.ListTab.Controls.Add(_tabPage);
_tabPage.Location = new Point(4, 4);
_tabPage.Name = "CTab" + cnt;
_tabPage.Size = new Size(380, 260);
_tabPage.TabIndex = 2 + cnt;
_tabPage.Text = tab.TabName;
_tabPage.UseVisualStyleBackColor = true;
_tabPage.AccessibleRole = AccessibleRole.PageTab;
_listCustom.AccessibleName = Properties.Resources.AddNewTab_ListView_AccessibleName;
_listCustom.TabIndex = 1;
_listCustom.AllowColumnReorder = true;
_listCustom.ContextMenuStrip = this.ContextMenuOperate;
_listCustom.ColumnHeaderContextMenuStrip = this.ContextMenuColumnHeader;
_listCustom.Dock = DockStyle.Fill;
_listCustom.FullRowSelect = true;
_listCustom.HideSelection = false;
_listCustom.Location = new Point(0, 0);
_listCustom.Margin = new Padding(0);
_listCustom.Name = "CList" + Environment.TickCount;
_listCustom.ShowItemToolTips = true;
_listCustom.Size = new Size(380, 260);
_listCustom.UseCompatibleStateImageBehavior = false;
_listCustom.View = View.Details;
_listCustom.OwnerDraw = true;
_listCustom.VirtualMode = true;
_listCustom.Font = _fntReaded;
_listCustom.BackColor = _clListBackcolor;
_listCustom.GridLines = this._cfgCommon.ShowGrid;
_listCustom.AllowDrop = true;
_listCustom.SmallImageList = _listViewImageList;
InitColumns(_listCustom, startup);
_listCustom.SelectedIndexChanged += MyList_SelectedIndexChanged;
_listCustom.MouseDoubleClick += MyList_MouseDoubleClick;
_listCustom.ColumnClick += MyList_ColumnClick;
_listCustom.DrawColumnHeader += MyList_DrawColumnHeader;
_listCustom.DragDrop += TweenMain_DragDrop;
_listCustom.DragEnter += TweenMain_DragEnter;
_listCustom.DragOver += TweenMain_DragOver;
_listCustom.DrawItem += MyList_DrawItem;
_listCustom.MouseClick += MyList_MouseClick;
_listCustom.ColumnReordered += MyList_ColumnReordered;
_listCustom.ColumnWidthChanged += MyList_ColumnWidthChanged;
_listCustom.CacheVirtualItems += MyList_CacheVirtualItems;
_listCustom.RetrieveVirtualItem += MyList_RetrieveVirtualItem;
_listCustom.DrawSubItem += MyList_DrawSubItem;
_listCustom.HScrolled += MyList_HScrolled;
}
return true;
}