public static void PushModalDialog(Window window, string windowId)
        {
            window.PushModal();
            if (string.IsNullOrEmpty(windowId))
            {
                return;
            }

            WindowSettings settings = WindowSettings.GetByWindowId(windowId);

            if (settings == null)
            {
                return;
            }

            window.Resize(settings.Width, settings.Height);
            foreach (Paned pane in ComponentHelper.GetChildWidgetsByType <Paned> (window))
            {
                PaneSettings pair = settings.Panes.FirstOrDefault(p => p.Name == pane.Name);
                if (pair != null)
                {
                    pane.Position = pair.Position;
                }
            }

            ColumnSerializer.LoadColumnSettings(window, settings);
        }
Beispiel #2
0
        public override void Serialize(TextWriter writer, IEnumerable <World> worlds, SectorSerializeOptions options)
        {
            List <string> cols = new List <string> {
                "Hex",
                "Name",
                "UWP",
                "Remarks",
                "{Ix}",
                "(Ex)",
                "[Cx]",
                "N",
                "B",
                "Z",
                "PBG",
                "W",
                "A",
                "Stellar"
            };

            if (options.includeRoutes)
            {
                cols.Add("Routes");
            }

            ColumnSerializer formatter = new ColumnSerializer(cols);

            formatter.SetMinimumWidth("Name", 20);
            formatter.SetMinimumWidth("Remarks", 20);

            foreach (World world in worlds.OrderBy(world => world.SS))
            {
                List <string> row = new List <string> {
                    options.sscoords?world.SubsectorHex : world.Hex,
                           world.Name,
                           world.UWP,
                           world.Remarks,
                           world.Importance ?? "",
                           world.Economic ?? "",
                           world.Cultural ?? "",
                    DashIfEmpty(world.Nobility ?? ""),
                    DashIfEmpty(world.Bases),
                    DashIfEmpty(world.Zone),
                    world.PBG,
                    world.Worlds > 0 ? world.Worlds.ToString() : "",
                    world.Allegiance,
                    world.Stellar
                };
                if (options.includeRoutes)
                {
                    row.Add(world.Routes ?? "");
                }
                formatter.AddRow(row);
            }
            formatter.Serialize(writer, options.includeHeader);
        }
        public void Serialize_AddsTypeAttribute()
        {
            var propertyDefinition = GetPropertyDefinition((ClassWithAllDataTypes _) => _.Int32Property);
            var classDefinition    = propertyDefinition.ClassDefinition;

            var columnSerializer = new ColumnSerializer();
            var actual           = columnSerializer.Serialize(propertyDefinition, GetRdbmsPersistenceModelProvider(classDefinition)).Single();

            Assert.That(actual.Attributes().Select(a => a.Name.LocalName), Contains.Item("dbType"));
            Assert.That(actual.Attribute("dbType").Value, Is.EqualTo("Int32"));
        }
        public void Serialize_CreatesColumnElement()
        {
            var propertyDefinition = GetPropertyDefinition((ClassWithAllDataTypes _) => _.Int32Property);
            var classDefinition    = propertyDefinition.ClassDefinition;

            var columnSerializer = new ColumnSerializer();
            var actual           = columnSerializer.Serialize(propertyDefinition, GetRdbmsPersistenceModelProvider(classDefinition)).ToArray();

            Assert.That(actual.Length, Is.EqualTo(1));
            Assert.That(actual[0].Name.LocalName, Is.EqualTo("column"));
        }
        public void CanReadXmlForColumn()
        {
            using (var r = TestXmlReader.Create("<Column name=\"colb\" dbType=\"int\" clrType=\"System.Int32\" />"))
            {
                var c = new ColumnSerializer().Deserialize(r.Reader);

                Assert.IsNotNull(c);
                Assert.AreEqual("colb", c.Name);
                Assert.AreEqual("int", c.DbType);
                Assert.AreSame(typeof(System.Int32), c.ClrType);
            }
        }
        public void Serialize_RelationProperty()
        {
            var propertyDefinition = GetPropertyDefinition((Ceo _) => _.Company);
            var classDefinition    = propertyDefinition.ClassDefinition;

            var columnSerializer = new ColumnSerializer();
            var actual           = columnSerializer.Serialize(propertyDefinition, GetRdbmsPersistenceModelProvider(classDefinition)).ToArray();

            Assert.That(actual.Length, Is.EqualTo(2));
            Assert.That(actual[0].Attribute("name").Value, Is.EqualTo("CompanyID"));
            Assert.That(actual[0].Attribute("dbType").Value, Is.EqualTo("Guid"));
            Assert.That(actual[1].Attribute("name").Value, Is.EqualTo("CompanyIDClassID"));
            Assert.That(actual[1].Attribute("dbType").Value, Is.EqualTo("String"));
        }
Beispiel #7
0
            private IReadOnlyList <ColumnSerializer> GetColumnSerializers()
            {
                var result = new ColumnSerializer[_columnMappings.Length];

                for (int i = 0; i < _columnMappings.Length; i++)
                {
                    var column = _columnMappings[i].Value;
                    if (column == IGNORE)
                    {
                        continue;
                    }
                    result[i] = _sourcePresenter.GetSerializer(column);
                }

                return(result);
            }
Beispiel #8
0
        public void ColumnFormatterTest()
        {
            ColumnSerializer formatter = new ColumnSerializer(new string[] { "1", "2", "3", "4" });

            formatter.AddRow(new string[] { "a", "bb", "ccc", "dddd" });
            formatter.AddRow(new string[] { " A ", "  BB  ", "   CCC   ", "    DDDD    " });
            formatter.AddRow(new string[] { "w", "x", "y", "z" });
            StringWriter writer = new StringWriter();

            formatter.Serialize(writer);
            Assert.AreEqual(
                "1 2  3   4   \r\n" +
                "- -- --- ----\r\n" +
                "a bb ccc dddd\r\n" +
                "A BB CCC DDDD\r\n" +
                "w x  y   z   \r\n",
                writer.ToString());
        }
Beispiel #9
0
            private ColumnSerializer[] GetColumnSerializers()
            {
                var result = new ColumnSerializer[ColumnsCount];

                var model        = DataPresenter.DataSet.Model;
                var columns      = model.GetColumns();
                var localColumns = model.GetLocalColumns();

                for (int i = 0; i < columns.Count; i++)
                {
                    result[i] = DataPresenter.GetSerializer(columns[i]);
                }
                for (int i = 0; i < localColumns.Count; i++)
                {
                    result[i + columns.Count] = DataPresenter.GetSerializer(localColumns[i]);
                }
                return(result);
            }
Beispiel #10
0
        public List <ColumnSerializer> GetColumns(object serializer)
        {
            var propList = new List <ColumnSerializer>();

            foreach (var prop in serializer.GetType().GetProperties())
            {
                if (prop.CustomAttributes.Count() > 0)
                {
                    ColumnSerializer cs = new ColumnSerializer();
                    cs.name = char.ToLowerInvariant(prop.Name[0]) + prop.Name.Substring(1);

                    var attr = prop.CustomAttributes.First();
                    cs.title       = attr.NamedArguments.First(x => x.MemberName == "Name").TypedValue.ToString().Replace("\"", "");
                    cs.breakpoints = attr.NamedArguments.FirstOrDefault(x => x.MemberName == "Description").TypedValue.ToString().Replace("\"", "");

                    propList.Add(cs);
                }
            }

            return(propList);
        }
        public void SetUp()
        {
            _column = new ColumnBuilder()
                      .WithId(1)
                      .WithIndex(0)
                      .WithName("Test")
                      .WithDataType(typeof(Boolean))
                      .WithSemanticType(SemanticType.Unknown)
                      .Build();

            _rows = new List <Row>();

            _xColumn = new XElement("column",
                                    new XElement("id", _column.Id),
                                    new XElement("index", _column.Index),
                                    new XElement("name", _column.Name),
                                    new XElement("data-type", "Boolean"),
                                    new XElement("semantic-type", _column.SemanticType));

            _serializer = new ColumnSerializer(
                new PropertySerializer(
                    new DataTypeSerializer()),
                new ColumnFactory());
        }
        public static void PopModalDialog(Window window, string windowId)
        {
            window.PopModal();
            if (string.IsNullOrEmpty(windowId))
            {
                return;
            }

            WindowSettings settings = WindowSettings.GetByWindowId(windowId) ?? new WindowSettings {
                WindowId = windowId
            };

            settings.Width  = window.Allocation.Width;
            settings.Height = window.Allocation.Height;
            settings.Panes.Clear();
            foreach (Paned pane in ComponentHelper.GetChildWidgetsByType <Paned> (window))
            {
                settings.Panes.Add(new PaneSettings {
                    Name = pane.Name, Position = pane.Position
                });
            }

            ColumnSerializer.SaveColumnSettings(window, settings);
        }
Beispiel #13
0
            private ColumnSerializer[] GetSelectedColumnSerializers()
            {
                var presenter         = DataPresenter.GetService <Presenter>();
                var startBindingIndex = presenter.StartSelectedBindingIndex;

                Debug.Assert(startBindingIndex >= 0);
                var endBindingIndex  = presenter.EndSelectedBindingIndex;
                var gridCellBindings = presenter.GridCellBindings;

                var result = new ColumnSerializer[SelectedColumnsCount];
                int index  = 0;

                for (int i = startBindingIndex; i <= endBindingIndex; i++)
                {
                    var rowBinding          = gridCellBindings[i];
                    var serializableColumns = rowBinding.SerializableColumns;
                    for (int j = 0; j < serializableColumns.Count; j++)
                    {
                        result[index++] = DataPresenter.GetSerializer(serializableColumns[j]);
                    }
                }

                return(result);
            }