public int ResetAllOtherTabs(Tab tab) { int currentYOffset = 0; foreach (Tab tab2 in this.Tabs) { if ((tab2 != tab) && tab2.Selected) { currentYOffset = tab2.CurrentYOffset; tab2.ResetSelected(); } } return currentYOffset; }
private void screen_OnMouseLeftDown(Point position) { if (StaticMethods.PointInRectangle(position, this.ToolDisplayPosition)) { this.xianshiyoucelan = !this.xianshiyoucelan; if (true) //base.Enabled) { if (this.xianshiyoucelan) { this.ToolDisplayTexture = this.ToolSelectedTexture; } else { this.ToolDisplayTexture = this.ToolTexture; } } } if (this.xianshiyoucelan && (this.screen.PeekUndoneWork().Kind == UndoneWorkKind.None) && StaticMethods.PointInRectangle(position, base.RealClient)) { if (position.Y < this.listKindToDisplay.ColumnsTop) { Tab tab = this.FindTabByPosition(position); if (tab != null) { tab.Selected = true; } } else if (position.Y < (this.listKindToDisplay.ColumnsTop + this.columnheaderHeight)) { Column columnByPosition = this.GetColumnByPosition(position); if (columnByPosition != null) { PropertyComparer comparer = new PropertyComparer(columnByPosition.Name, columnByPosition.IsNumber, columnByPosition.SmallToBig); this.gameObjectList.Sort(comparer); this.listKindToDisplay.ResetAllTextures(); columnByPosition.SmallToBig = !columnByPosition.SmallToBig; } } else { GameObject gameObjectByPosition; if (this.ShowCheckBox) { gameObjectByPosition = this.GetGameObjectByPosition(position); if (gameObjectByPosition != null) { if (this.listKindToDisplay.IsInEditableColumn(position)) { if ((gameObjectByPosition.Selected || (this.SelectedItemMaxCount <= 0)) || (this.gameObjectList.GetSelectedList().Count < this.SelectedItemMaxCount)) { gameObjectByPosition.Selected = !gameObjectByPosition.Selected; if (this.MultiSelecting) { this.SelectingRows = true; this.SelectingBool = gameObjectByPosition.Selected; this.SelectedItemList = this.gameObjectList.GetSelectedList(); } else { this.gameObjectList.SetOtherUnSelected(gameObjectByPosition); } base.OKButtonEnabled = this.gameObjectList.HasSelectedItem() || (gameObjectByPosition is Faction); this.ResetEditableTextures(); if (gameObjectByPosition.Selected) { this.SelectedItem = gameObjectByPosition; if (!(this.MultiSelecting || !GlobalVariables.SingleSelectionOneClick)) { this.iGameFrame.OK(); } else { this.screen.PlayNormalSound(this.SelectSoundFile); } } else { this.SelectedItem = null; } } } else { if (gameObjectByPosition is Troop) { if ((this.iTroopDetail != null) && (base.Function != FrameFunction.Jump)) { this.iTroopDetail.SetPosition(ShowPosition.Center); this.iTroopDetail.SetTroop(gameObjectByPosition); this.iTroopDetail.IsShowing = true; } this.screen.JumpTo((gameObjectByPosition as Troop).Position); } else if (gameObjectByPosition is Person) { if ((this.iPersonDetail != null) && (base.Function != FrameFunction.Jump)) { this.iPersonDetail.SetPosition(ShowPosition.Center); this.iPersonDetail.SetPerson(gameObjectByPosition); this.iPersonDetail.IsShowing = true; } if (!(gameObjectByPosition as Person).IsCaptive) { this.screen.JumpTo((gameObjectByPosition as Person).Position); } } else if (gameObjectByPosition is Architecture) { if ((this.iArchitectureDetail != null) && (base.Function != FrameFunction.Jump)) { this.iArchitectureDetail.SetPosition(ShowPosition.Center); this.iArchitectureDetail.SetArchitecture(gameObjectByPosition); this.iArchitectureDetail.IsShowing = true; } this.screen.JumpTo((gameObjectByPosition as Architecture).Position); } else if (gameObjectByPosition is Military) { this.screen.JumpTo((gameObjectByPosition as Military).Position); } else if (gameObjectByPosition is Faction) { if ((this.iFactionTechniques != null) && (base.Function != FrameFunction.Jump)) { this.iFactionTechniques.SetArchitecture(null); this.iFactionTechniques.SetFaction(gameObjectByPosition, false); this.iFactionTechniques.SetPosition(ShowPosition.Center); this.iFactionTechniques.IsShowing = true; } this.screen.JumpTo((gameObjectByPosition as Faction).Leader.Position); } else if (gameObjectByPosition is Captive) { if ((this.iPersonDetail != null) && (base.Function != FrameFunction.Jump)) { this.iPersonDetail.SetPosition(ShowPosition.Center); this.iPersonDetail.SetPerson((gameObjectByPosition as Captive).CaptivePerson); this.iPersonDetail.IsShowing = true; } } else if (gameObjectByPosition is Treasure) { if ((this.iTreasureDetail != null) && (base.Function != FrameFunction.Jump)) { this.iTreasureDetail.SetPosition(ShowPosition.Center); this.iTreasureDetail.SetTreasure(gameObjectByPosition); this.iTreasureDetail.IsShowing = true; } if ((gameObjectByPosition as Treasure).BelongedPerson != null) { this.screen.JumpTo((gameObjectByPosition as Treasure).BelongedPerson.Position); } } if (gameObjectByPosition != null) { base.TriggerItemClick(); } } } } else { gameObjectByPosition = this.GetGameObjectByPosition(position); if (gameObjectByPosition != null) { if (this.listKindToDisplay.SelectedTab.ListMethod != null) { this.PushSubKindByName(this.listKindToDisplay.SelectedTab.ListKind, StaticMethods.GetListMethodValue(gameObjectByPosition, this.listKindToDisplay.SelectedTab.ListMethod) as GameObjectList); } else { if (gameObjectByPosition is Troop) { if ((this.iTroopDetail != null) && (base.Function != FrameFunction.Jump)) { this.iTroopDetail.SetPosition(ShowPosition.Center); this.iTroopDetail.SetTroop(gameObjectByPosition); this.iTroopDetail.IsShowing = true; } this.screen.JumpTo((gameObjectByPosition as Troop).Position); } else if (gameObjectByPosition is Person) { if ((this.iPersonDetail != null) && (base.Function != FrameFunction.Jump)) { this.iPersonDetail.SetPosition(ShowPosition.Center); this.iPersonDetail.SetPerson(gameObjectByPosition); this.iPersonDetail.IsShowing = true; } if (!(gameObjectByPosition as Person).IsCaptive) { this.screen.JumpTo((gameObjectByPosition as Person).Position); } } else if (gameObjectByPosition is Architecture) { if ((this.iArchitectureDetail != null) && (base.Function != FrameFunction.Jump)) { this.iArchitectureDetail.SetPosition(ShowPosition.Center); this.iArchitectureDetail.SetArchitecture(gameObjectByPosition); this.iArchitectureDetail.IsShowing = true; } this.screen.JumpTo((gameObjectByPosition as Architecture).Position); } else if (gameObjectByPosition is Military) { this.screen.JumpTo((gameObjectByPosition as Military).Position); } else if (gameObjectByPosition is Faction) { if ((this.iFactionTechniques != null) && (base.Function != FrameFunction.Jump)) { this.iFactionTechniques.SetArchitecture(null); this.iFactionTechniques.SetFaction(gameObjectByPosition, false); this.iFactionTechniques.SetPosition(ShowPosition.Center); this.iFactionTechniques.IsShowing = true; } this.screen.JumpTo((gameObjectByPosition as Faction).Leader.Position); } else if (gameObjectByPosition is Captive) { if ((this.iPersonDetail != null) && (base.Function != FrameFunction.Jump)) { this.iPersonDetail.SetPosition(ShowPosition.Center); this.iPersonDetail.SetPerson((gameObjectByPosition as Captive).CaptivePerson); this.iPersonDetail.IsShowing = true; } } else if (gameObjectByPosition is Treasure) { if ((this.iTreasureDetail != null) && (base.Function != FrameFunction.Jump)) { this.iTreasureDetail.SetPosition(ShowPosition.Center); this.iTreasureDetail.SetTreasure(gameObjectByPosition); this.iTreasureDetail.IsShowing = true; } if ((gameObjectByPosition as Treasure).BelongedPerson != null) { this.screen.JumpTo((gameObjectByPosition as Treasure).BelongedPerson.Position); } } if (gameObjectByPosition != null) { base.TriggerItemClick(); } } } } } } }
public void LoadFromXMLNode(XmlNode rootNode) { XmlNode node = rootNode.ChildNodes.Item(0); foreach (XmlNode node2 in node.ChildNodes) { Font font; Microsoft.Xna.Framework.Graphics.Color color; Column column; column = new Column(this.tabList) { //读取列 ID = int.Parse(node2.Attributes.GetNamedItem("ID").Value), Name = node2.Attributes.GetNamedItem("Name").Value, IsNumber = bool.Parse(node2.Attributes.GetNamedItem("IsNumber").Value), DisplayName = node2.Attributes.GetNamedItem("DisplayName").Value, MinWidth = int.Parse(node2.Attributes.GetNamedItem("MinWidth").Value), //SmallToBig = !column.IsNumber SmallToBig=true //SmallToBig = !(bool.Parse(node2.Attributes.GetNamedItem("IsNumber").Value)) }; //column.SmallToBig = !column.IsNumber; //我添加的 StaticMethods.LoadFontAndColorFromXMLNode(node2, out font, out color); column.ColumnTextList = new FreeTextList(this.tabList.graphicsDevice, font); column.ColumnTextList.TextColor = color; //column.ColumnTextList.TextColor =new Microsoft.Xna.Framework.Graphics.Color (0.5f,0.5f,0.5f); column.ColumnTextList.Align = (TextAlign) Enum.Parse(typeof(TextAlign), node2.Attributes.GetNamedItem("Align").Value); column.Text.Text = column.DisplayName; this.AllColumns.Add(column); } node = rootNode.ChildNodes.Item(1); this.tabMargin = int.Parse(node.Attributes.GetNamedItem("Margin").Value); foreach (XmlNode node2 in node.ChildNodes) //读取tab { Tab item = new Tab(this.tabList, this) { ID = int.Parse(node2.Attributes.GetNamedItem("ID").Value), Name = node2.Attributes.GetNamedItem("Name").Value, DisplayName = node2.Attributes.GetNamedItem("DisplayName").Value }; if (node2.Attributes.GetNamedItem("ListKind") != null) { item.ListKind = node2.Attributes.GetNamedItem("ListKind").Value; } if (node2.Attributes.GetNamedItem("ListMethod") != null) { item.ListMethod = node2.Attributes.GetNamedItem("ListMethod").Value; } item.LoadColumnsFromString(node2.Attributes.GetNamedItem("Columns").Value); if (node2.Attributes.GetNamedItem("SortColumnID") != null) { item.SortColumnID = int.Parse(node2.Attributes.GetNamedItem("SortColumnID").Value); } if (node2.Attributes.GetNamedItem("SmallToBig") != null) { item.SmallToBig = bool.Parse(node2.Attributes.GetNamedItem("SmallToBig").Value); } item.Text.Text = item.DisplayName; this.Tabs.Add(item); } }