using System.Collections.Generic; using OS.Spin.View.MainWindowControls; using OS.Spin.ViewModle.Models; namespace OS.Spin.View.Utils { public class LabelUtils { private static LabelUtils _LabelUtils = null; private static List _UserControl = null; //动态添加标签 private static LabelData _LabelData = null; //添加标签的初始值 private static SetData _SetData = null; //设置显示的初始值 //private static UserControl2 _UserControl2 = null; //全局缩放按钮 private static UserControl3 _UserControl3 = null; //cm标签 private static object LabelUtils_lock = new object(); //图标数据保存 private static List _ImageData = null; //初始化清空图标数据 public void clearImageData() { if (_ImageData != null && _ImageData.Count > 0) { _ImageData.Clear(); } } //该图标数据集合是否为空 public bool isNullImageData() { bool imageData = false; if (_ImageData != null && _ImageData.Count > 0) { imageData = true; } return imageData; } //从集合中添加ImageData数据 public void addImageData(ImageData image) { if (_ImageData != null && !_ImageData.Contains(image)) { _ImageData.Add(image); } } //返回图标数据集合 public List GetImageDatas() { return _ImageData; } public LabelUtils() { _UserControl = new List(); _ImageData = new List(); _LabelData = new LabelData(); _SetData = new SetData(); //_UserControl2 = new UserControl2(); _UserControl3 = new UserControl3(); } public UserControl3 getUserControl3() { return _UserControl3; } //public UserControl2 getUserControl2() //{ // return _UserControl2; //} public static LabelUtils getInstance() { if (_LabelUtils == null) //双if + lock { lock (LabelUtils_lock) { if (_LabelUtils == null) { _LabelUtils = new LabelUtils(); } } } return _LabelUtils; } //管理内存中动态创建的Labels public void addLabels(UserControl1 userControl1) { if (!_UserControl.Contains(userControl1)) { _UserControl.Add(userControl1); } } //清空List里面所有的Label对象 public void deleteLabels() { if (_UserControl != null && _UserControl.Count > 0) //不为空且存在元素 { _UserControl.Clear(); } } //获取标签的个数 public static int getNumbers() { return _UserControl.Count; } //返回该List集合的对象 public List getListObject() { return _UserControl; } //返回LabelData对象 public LabelData getLabelData() { return _LabelData; } //返回SetData对象 public SetData getSetData() { return _SetData; } //如果两个两个都为零即是默认方式不用管 public bool isNullSetData() { bool setData = false; if (_SetData.Start != 0 || _SetData.End != 0) { setData = true; } return setData; } //获取属性的值的方式有问题(简单的讲是判断条件有问题) public bool isNull() { bool data = false; if (_LabelData.Start != 0 || _LabelData.End != 0) { //return true; data = true; } return data; } } }