/// <summary> /// ユニット種類リストボックスの項目描画処理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnTypeListBoxDrawItem(object sender, DrawItemEventArgs e) { // 項目がなければ何もしない if (e.Index == -1) { return; } // 背景を描画する e.DrawBackground(); // 項目の文字列を描画する Brush brush; if ((e.State & DrawItemState.Selected) != DrawItemState.Selected) { // 変更ありの項目は文字色を変更する Country country = Countries.Tags[countryListBox.SelectedIndex]; UnitNameType type = UnitNames.Types[e.Index]; brush = UnitNames.IsDirty(country, type) ? new SolidBrush(Color.Red) : new SolidBrush(SystemColors.WindowText); } else { brush = new SolidBrush(SystemColors.HighlightText); } string s = typeListBox.Items[e.Index].ToString(); e.Graphics.DrawString(s, e.Font, brush, e.Bounds); brush.Dispose(); // フォーカスを描画する e.DrawFocusRectangle(); }
/// <summary> /// 編集済みかどうかを取得する /// </summary> /// <returns>編集済みならばtrueを返す</returns> public static bool IsDirty() { return(Misc.IsDirty() || Config.IsDirty() || Leaders.IsDirty() || Ministers.IsDirty() || Teams.IsDirty() || Provinces.IsDirty() || Techs.IsDirty() || Units.IsDirty() || CorpsNames.IsDirty() || UnitNames.IsDirty() || RandomLeaders.IsDirty() || Scenarios.IsDirty()); }