/// <summary> /// Honestly...I don't know why this is here. /// </summary> /// <param name="page">The gump to reference.</param> /// <returns>A string of the specially formatted gump entries.</returns> public string Compile(Gump page) { string ret = ""; switch (m_Style) { case "details": if (m_Background) { ret += String.Format("{{ gumppictiled {0} {1} {2} {3} {4} }}", m_X, m_Y, m_Width, m_Height, m_BackgroundID); } int colWidth = Width / m_ColCount; int i = 0; int xbase = m_X; while (i < columnValues.Count && i < m_ParentList.columns) { xbase = m_X + (i * colWidth); object obj = columnValues[i]; if (obj is string) { string caption = (string)obj; if (caption.Contains("</")) { ret += String.Format("{{ htmlgump {0} {1} {2} {3} {4} {5} {6} }}", m_X + (i * colWidth), m_Y, colWidth, m_Height, page.Intern(caption), false, false); } else { ret += String.Format("{{ text {0} {1} {2} {3} }}", m_X + (i * colWidth), m_Y, skin.NormalText, page.Intern(caption)); } } else if (obj is GumpButton) { GumpButton btn = (GumpButton)obj; ret += String.Format("{{ button {0} {1} {2} {3} {4} {5} {6} }}", xbase, m_Y, btn.NormalID, btn.PressedID, (int)btn.Type, btn.Param, btn.ButtonID); } else if (obj is GumpCheck) { GumpCheck chk = (GumpCheck)obj; ret += String.Format("{{ checkbox {0} {1} {2} {3} {4} {5} }}", xbase, m_Y, chk.ActiveID, chk.InactiveID, chk.InitialState, chk.SwitchID); } ret += String.Format("{{gumppictiled {0} {1} {2} {3} {4} }}", m_X + (i * colWidth), m_Y, skin.EntryDividerWidth, skin.EntryDividerHeight, skin.EntryDividerID); i++; } break; case "icons": string caption2 = (string)columnValues[captionID]; if (caption2.Contains("</")) { ret += String.Format("{{ htmlgump {0} {1} {2} {3} {4} {5} {6} }}", m_X, m_Y + skin.EntryCaptionPositionY, skin.EntryCaptionWidth, skin.EntryCaptionHeight, page.Intern(caption2), false, false); } else { ret += String.Format("{{ text {0} {1} {2} {3} }}", m_X, m_Y + skin.EntryCaptionPositionY, skin.NormalText, page.Intern(caption2)); } int id = skin.EntryDefaultIcon; ret += String.Format("{{ gumppictiled {0} {1} {2} {3} {4} }}", m_X, m_Y, m_Width, m_Height, m_BackgroundID); if (arguments.ContainsKey("icon")) { id = (int)arguments["icon"]; } ret += String.Format("{{ gumppictiled {0} {1} {2} {3} {4} }}", ((skin.EntryCaptionWidth - m_X) - skin.EntryIconWidth) / 2, m_Y + skin.EntryIconY, skin.EntryIconWidth, skin.EntryIconHeight, id); GumpButton btn2 = null; if (arguments.ContainsKey("button")) { btn2 = (GumpButton)arguments["button"]; ret += String.Format("{{ buttontileart {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} }}", m_X, m_Y, skin.EntryButtonUnderlay, skin.EntryButtonUnderlay, (int)btn2.Type, btn2.Param, btn2.ButtonID, skin.EntryButtonUnderlay, skin.DefaultBackgroundColor, skin.EntryIconWidth, skin.EntryIconHeight); } break; } if (m_Tooltip) { ret += String.Format("{{ tooltip {0} }}", TooltipID); } return(ret); }
/// <summary> /// Honestly...I don't know why this is here. /// </summary> /// <param name="page">The gump to reference.</param> /// <returns>A string of the specially formatted gump entries.</returns> public string Compile( Gump page) { string ret = ""; switch (m_Style) { case "details": if( m_Background ) ret+= String.Format("{{ gumppictiled {0} {1} {2} {3} {4} }}", m_X, m_Y, m_Width, m_Height, m_BackgroundID ); int colWidth = Width/m_ColCount; int i = 0; int xbase = m_X; while (i < columnValues.Count && i < m_ParentList.columns) { xbase = m_X + (i * colWidth); object obj = columnValues[i]; if (obj is string) { string caption = (string)obj; if (caption.Contains("</")) ret += String.Format("{{ htmlgump {0} {1} {2} {3} {4} {5} {6} }}", m_X + (i * colWidth), m_Y, colWidth, m_Height, page.Intern(caption), false, false); else ret += String.Format("{{ text {0} {1} {2} {3} }}", m_X + (i * colWidth), m_Y, skin.NormalText, page.Intern(caption)); } else if (obj is GumpButton) { GumpButton btn = (GumpButton)obj; ret+= String.Format("{{ button {0} {1} {2} {3} {4} {5} {6} }}", xbase, m_Y, btn.NormalID, btn.PressedID, (int)btn.Type, btn.Param, btn.ButtonID ); } else if (obj is GumpCheck) { GumpCheck chk = (GumpCheck)obj; ret += String.Format("{{ checkbox {0} {1} {2} {3} {4} {5} }}", xbase, m_Y, chk.ActiveID, chk.InactiveID, chk.InitialState, chk.SwitchID); } ret+= String.Format("{{gumppictiled {0} {1} {2} {3} {4} }}", m_X+(i*colWidth), m_Y, skin.EntryDividerWidth, skin.EntryDividerHeight, skin.EntryDividerID ); i++; } break; case "icons": string caption2 = (string)columnValues[captionID]; if (caption2.Contains("</")) ret += String.Format("{{ htmlgump {0} {1} {2} {3} {4} {5} {6} }}", m_X, m_Y+skin.EntryCaptionPositionY, skin.EntryCaptionWidth, skin.EntryCaptionHeight, page.Intern(caption2), false, false); else ret += String.Format("{{ text {0} {1} {2} {3} }}", m_X, m_Y + skin.EntryCaptionPositionY, skin.NormalText, page.Intern(caption2)); int id = skin.EntryDefaultIcon; ret+= String.Format("{{ gumppictiled {0} {1} {2} {3} {4} }}", m_X, m_Y, m_Width, m_Height, m_BackgroundID); if( arguments.ContainsKey( "icon" ) ) id = (int)arguments["icon"]; ret+= String.Format("{{ gumppictiled {0} {1} {2} {3} {4} }}", ((skin.EntryCaptionWidth-m_X)-skin.EntryIconWidth)/2, m_Y+skin.EntryIconY, skin.EntryIconWidth, skin.EntryIconHeight, id ); GumpButton btn2 = null; if( arguments.ContainsKey("button") ) { btn2 = (GumpButton)arguments["button"]; ret+= String.Format("{{ buttontileart {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} }}", m_X, m_Y, skin.EntryButtonUnderlay, skin.EntryButtonUnderlay, (int)btn2.Type, btn2.Param, btn2.ButtonID, skin.EntryButtonUnderlay, skin.DefaultBackgroundColor, skin.EntryIconWidth, skin.EntryIconHeight ); } break; } if (m_Tooltip) ret += String.Format("{{ tooltip {0} }}", TooltipID); return ret; }