示例#1
0
        public void RecreateElementsFromSave(ListContainer lc)
        {
            this.lc = lc;

            foreach (SpecificElement se in lc.ec.GetAllElements())
            {
                if (RemoveNumbers(se.GetName()) == "wire_connector")
                {
                    Image img = new Image();

                    img.Height = 10;
                    img.Width  = 10;
                    img.Source = new BitmapImage(new Uri(AppDomain.CurrentDomain.BaseDirectory + "WireConnectors/" + RemoveNumbers(se.GetName()) + ".png"));
                    img.Tag    = se.GetName();

                    img.MouseLeftButtonDown += new MouseButtonEventHandler(Image_MouseLeftButtonDown);
                    img.MouseLeftButtonUp   += new MouseButtonEventHandler(Image_MouseLeftButtonUp);
                    img.MouseMove           += new MouseEventHandler(Image_MouseMove);

                    canvas.Children.Add(img);

                    se.SetImage(img);

                    Canvas.SetTop(img, 0);
                    Canvas.SetLeft(img, 0);

                    img.RenderTransform = new TranslateTransform(se.GetPositionX(), se.GetPositionY());

                    queue++;

                    Panel.SetZIndex(img, 1);
                }
            }
        }
示例#2
0
        public override void DoWindowContents(Rect inRect)
        {
            base.DoWindowContents(inRect);

            PhiClient phi = PhiClient.instance;

            ListContainer mainList = new ListContainer();

            mainList.spaceBetween = ListContainer.SPACE;

            mainList.Add(new TextWidget("Realm", GameFont.Medium, TextAnchor.MiddleCenter));

            ListContainer rowBodyContainer = new ListContainer(new List <Displayable>()
            {
                DoChat(),
                new WidthContainer(DoBodyRightBar(), STATUS_AREA_WIDTH)
            }, ListFlow.ROW);

            rowBodyContainer.spaceBetween = ListContainer.SPACE;

            mainList.Add(rowBodyContainer);
            mainList.Add(new HeightContainer(DoFooter(), 30f));

            mainList.Draw(inRect);
        }
示例#3
0
        public void TestObjectListWithSimpleObjects()
        {
            var items = new[] { new SimpleObject(), new SimpleObject(), new SimpleObject(), new SimpleObject() };
            var obj   = new ListContainer {
                ObjectList = { items[0], items[1] }
            };
            var nodeContainer = new NodeContainer();
            var containerNode = nodeContainer.GetOrCreateNode(obj);
            var memberNode    = containerNode[nameof(ListContainer.ObjectList)];

            Helper.TestMemberNode(containerNode, memberNode, obj, obj.ObjectList, nameof(ListContainer.ObjectList), true);
            VerifyItem(memberNode, 0, items[0], false);
            VerifyItem(memberNode, 1, items[1], false);

            // Add a new item
            memberNode.Target.Add(items[2]);
            VerifyItem(memberNode, 0, items[0], false);
            VerifyItem(memberNode, 1, items[1], false);
            VerifyItem(memberNode, 2, items[2], false);

            // Update existing item (with a different type here)
            memberNode.Target.Update(items[3], new NodeIndex(2));
            VerifyItem(memberNode, 0, items[0], false);
            VerifyItem(memberNode, 1, items[1], false);
            VerifyItem(memberNode, 2, items[3], false);
        }
 public CSVExportToCallList(string filePath)
 {
     FilePath         = filePath;
     listContainer    = ListContainer.GetInstance();
     winningOfferList = listContainer.outputList;
     encoding         = Encoding.GetEncoding("iso-8859-1");
 }
        public CanvasGUIControl(MainWindow form, Canvas canvas, Grid grid, ListContainer lc, DockPanel dock_bottom, Rectangle highlighter, Rectangle indicator, Grid hRulerGrid, UniformGrid uHRulerGrid, Grid vRulerGrid, UniformGrid uVRulerGrid, ImageGUIControl igc, DotGUIControl dgc, ListImageGUIControl lgc, HighlighterGUIControl hgc, ShortcutGUIControl sgc)
        {
            this.form        = form;
            this.canvas      = canvas;
            this.grid        = grid;
            this.lc          = lc;
            this.dock_bottom = dock_bottom;
            this.highlighter = highlighter;
            this.indicator   = indicator;

            this.hRulerGrid  = hRulerGrid;
            this.uHRulerGrid = uHRulerGrid;

            this.vRulerGrid  = vRulerGrid;
            this.uVRulerGrid = uVRulerGrid;

            this.igc = igc;
            this.dgc = dgc;
            this.lgc = lgc;
            this.hgc = hgc;
            this.sgc = sgc;

            this.modeTool = modeTool;

            LoadEvents();
            LoadGrids();

            CreateGridLines();

            SetPositionStart();

            CreateRuler();
        }
示例#6
0
 private void InitList()
 {
     m_studentList = new ListContainer <StudentDataContainer>();
     m_studentList.Init(35, new Point(0, m_groupSelector.Height),
                        "m_studentList", new Size(529, 220), 3, 5);
     Controls.Add(m_studentList);
 }
示例#7
0
        public void command_backup(string[] args)
        {
            if (args.Length < 1)
            {
                ConsoleWriteLine("backup: not enough arguments, try `help`");
                return;
            }

            ListContainer <ListContainer <string> > backup = new ListContainer <ListContainer <string> >();

            lock (mainForm.DataSource.Lock)
            {
                foreach (Playlist pl in mainForm.DataSource.Playlists)
                {
                    ListContainer <string> plBackup = new ListContainer <string>();
                    plBackup.List.Add(pl.Name);
                    foreach (PlaylistItem item in pl.PlaylistItems)
                    {
                        plBackup.List.Add(item.Item);
                    }
                    backup.List.Add(plBackup);
                }
            }

            using (FileStream fs = File.Create(args[0]))
            {
                Serializer.Serialize(fs, backup);
            }

            ConsoleWriteLine(string.Format("Backup written to {0}", args[0]));
        }
示例#8
0
        private async Task LoadChannelList(string url, bool replace)
        {
            var list = await DataService.GetM3U(url);


            if (list == null)
            {
                throw new Exception(resouces.GetString("cant_add_list"));
            }


            List = new ObservableCollection <Channel>(list.OrderBy(x => x.Title).ToList());

            // grd.ItemsSource = List;

            var container = new ListContainer {
                Type = ListType.Channel, Url = url
            };


            using (var db = new ChannelContext())
            {
                if (replace)
                {
                    var all = from c in db.Channels select c;
                    db.Channels.RemoveRange(all);
                    db.ListContainer.RemoveRange(from c in db.ListContainer where c.Type == ListType.Channel select c);
                }

                db.ListContainer.Add(container);
                db.Channels.AddRange(List);
                db.SaveChanges();
            }
        }
示例#9
0
        private void ScrollBar_OnChangeRectangle()
        {
            if (ListContainer != null)
            {
                ListContainer.PrepareRows(floatTo: "left", padding: RowPadding);
            }

            if (ScrollContainer != null)
            {
                var barStartingPosition = ScrollContainer.Size.X * Bar.WidthRatio / 100;

                var coX = new ClampObject("Position.X", Bar.Position.X, Bar.Position.X);

                if (!Bar.ClampManager.ContainsKey("Position.X"))
                {
                    Bar.ClampManager.Add(coX);
                }
                else
                {
                    Bar.ClampManager.RefreshClampObject(coX.PropertyName, coX.Min, coX.Max);
                }

                var coY = new ClampObject("Position.Y", ScrollContainer.Position.Y, ScrollContainer.Position.Y + ScrollContainer.Size.Y - Bar.Size.Y);

                if (!Bar.ClampManager.ContainsKey("Position.Y"))
                {
                    Bar.ClampManager.Add(coY);
                }
                else
                {
                    Bar.ClampManager.RefreshClampObject(coY.PropertyName, coY.Min, coY.Max);
                }
            }
        }
        // Token: 0x06000055 RID: 85 RVA: 0x00003AB4 File Offset: 0x00001CB4
        public override void DoWindowContents(Rect inRect)
        {
            var listContainer = new ListContainer {
                spaceBetween = 10f
            };

            listContainer.Add(new TextWidget(
                                  "ATTENTION: This feature is highly experimental. Only use it if you're playing with a save you could potentially corrupt."));
            var listContainer2 = new ListContainer {
                drawAlternateBackground = true
            };

            listContainer.Add(new ScrollContainer(listContainer2, scrollPosition,
                                                  delegate(Vector2 s) { scrollPosition = s; }));
            using (IEnumerator <Pawn> enumerator = Find.CurrentMap.mapPawns.FreeColonists.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    var freeColonist   = enumerator.Current;
                    var listContainer3 = new ListContainer(ListFlow.ROW)
                    {
                        spaceBetween = 10f
                    };
                    listContainer2.Add(new HeightContainer(listContainer3, 40f));
                    listContainer3.Add(new ButtonWidget(freeColonist?.Label,
                                                        delegate { OnColonistClick(freeColonist); },
                                                        false));
                }
            }

            listContainer.Draw(inRect);
        }
示例#11
0
        // Token: 0x06000051 RID: 81 RVA: 0x00003944 File Offset: 0x00001B44
        public override void DoWindowContents(Rect inRect)
        {
            var listContainer = new ListContainer {
                spaceBetween = 10f
            };

            listContainer.Add(new TextWidget(
                                  "ATTENTION: This feature is highly experimental. Only use it if you're playing with a save you could potentially corrupt."));
            var listContainer2 = new ListContainer {
                drawAlternateBackground = true
            };

            listContainer.Add(new ScrollContainer(listContainer2, scrollPosition,
                                                  delegate(Vector2 s) { scrollPosition = s; }));
            using (var enumerator = (from p in Find.CurrentMap.mapPawns.AllPawns
                                     where p.RaceProps.Animal && p.Faction == Faction.OfPlayer
                                     select p).GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    var item           = enumerator.Current;
                    var listContainer3 = new ListContainer(ListFlow.ROW)
                    {
                        spaceBetween = 10f
                    };
                    listContainer2.Add(new HeightContainer(listContainer3, 40f));
                    if (item != null)
                    {
                        listContainer3.Add(new ButtonWidget(item.Label, delegate { OnAnimalClick(item); }, false));
                    }
                }
            }

            listContainer.Draw(inRect);
        }
示例#12
0
        public void Write_InternalFixArray()
        {
            ByteWriter s = new ByteWriter();

            WriteBuilder b = new WriteBuilder();
            Writer       w = b.Create(s);

            ListContainer val = new ListContainer();

            val.Field1    = new int[3];
            val.Field1[0] = 1;
            val.Field1[1] = 2;
            val.Field1[2] = 3;
            val.Field2    = new List <uint>();
            val.Field3    = "";

            w.Write <ListContainer>(val);

            Assert.AreEqual(new byte[] {
                0x00, 0x00, 0x00, 0x01,
                0x00, 0x00, 0x00, 0x02,
                0x00, 0x00, 0x00, 0x03,
                0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00
            }, s.ToArray());
        }
示例#13
0
        public void TestObjectListWithBoxedPrimitiveValue()
        {
            var obj = new ListContainer {
                ObjectList = { 1.0f, 2.0f }
            };
            var nodeContainer = new NodeContainer();

            // Construction
            var containerNode = nodeContainer.GetOrCreateNode(obj);
            var memberNode    = containerNode[nameof(ListContainer.ObjectList)];

            Helper.TestMemberNode(containerNode, memberNode, obj, obj.ObjectList, nameof(ListContainer.ObjectList), true);
            VerifyItem(memberNode, 0, 1.0f, true);
            VerifyItem(memberNode, 1, 2.0f, true);

            // Add a new item
            memberNode.Target.Add(3.0f);
            VerifyItem(memberNode, 0, 1.0f, true);
            VerifyItem(memberNode, 1, 2.0f, true);
            VerifyItem(memberNode, 2, 3.0f, true);

            // Update existing item (with a different type here)
            memberNode.Target.Update(4.0, new NodeIndex(2));
            VerifyItem(memberNode, 0, 1.0f, true);
            VerifyItem(memberNode, 1, 2.0f, true);
            VerifyItem(memberNode, 2, 4.0, true);
        }
示例#14
0
        public void TestListInObjectMember()
        {
            var nodeContainer = new NodeContainer();
            var values        = new object[] { new SimpleObject(), new List <SimpleObject> {
                                                   new SimpleObject(), new SimpleObject()
                                               }, new SimpleObject() };
            var container = new ListContainer {
                ObjectMember = values[0]
            };
            var containerNode = nodeContainer.GetOrCreateNode(container);

            Assert.Equal(container.ObjectMember, containerNode[nameof(ListContainer.ObjectMember)].Retrieve());
            containerNode[nameof(ListContainer.ObjectMember)].Update(values[1]);
            Assert.Equal(values[1], container.ObjectMember);
            Assert.Equal(container.ObjectMember, containerNode[nameof(ListContainer.ObjectMember)].Retrieve());
            Assert.True(containerNode[nameof(ListContainer.ObjectMember)].IsReference);
            Assert.NotNull(containerNode[nameof(ListContainer.ObjectMember)].Target.Indices);
            Assert.Equal(2, containerNode[nameof(ListContainer.ObjectMember)].Target.Indices.Count());
            Assert.Equal(new NodeIndex(0), containerNode[nameof(ListContainer.ObjectMember)].Target.Indices.ToList()[0]);
            Assert.Equal(new NodeIndex(1), containerNode[nameof(ListContainer.ObjectMember)].Target.Indices.ToList()[1]);
            Assert.Equal(TypeDescriptorFactory.Default.Find(typeof(object)), containerNode[nameof(ListContainer.ObjectMember)].Descriptor);
            Assert.Equal(((IList)values[1])[0], containerNode[nameof(ListContainer.ObjectMember)].Target.IndexedTarget(new NodeIndex(0)));
            Assert.Equal(((IList)values[1])[1], containerNode[nameof(ListContainer.ObjectMember)].Target.IndexedTarget(new NodeIndex(1)));
            Assert.Equal(typeof(object), containerNode[nameof(ListContainer.ObjectMember)].Type);
            // TODO: more things could be checked!
            containerNode[nameof(ListContainer.ObjectMember)].Update(values[2]);
            Assert.Equal(values[2], container.ObjectMember);
            Assert.Equal(container.ObjectMember, containerNode[nameof(ListContainer.ObjectMember)]);
        }
示例#15
0
        public void TestMultipleTimesSameObject()
        {
            var items         = new[] { new SimpleObject(), new SimpleObject() };
            var nodeContainer = new NodeContainer();
            var container     = new ListContainer {
                List = { items[0], items[1], items[0], items[1] }
            };
            var containerNode = nodeContainer.GetOrCreateNode(container);
            var memberNode    = containerNode[nameof(ListContainer.List)];

            VerifyItem(memberNode, 0, items[0], false);
            VerifyItem(memberNode, 1, items[1], false);
            VerifyItem(memberNode, 2, items[0], false);
            VerifyItem(memberNode, 3, items[1], false);

            memberNode.Target.Add(items[0]);
            VerifyItem(memberNode, 0, items[0], false);
            VerifyItem(memberNode, 1, items[1], false);
            VerifyItem(memberNode, 2, items[0], false);
            VerifyItem(memberNode, 3, items[1], false);
            VerifyItem(memberNode, 4, items[0], false);

            memberNode.Target.Update(items[1], new NodeIndex(2));
            VerifyItem(memberNode, 0, items[0], false);
            VerifyItem(memberNode, 1, items[1], false);
            VerifyItem(memberNode, 2, items[1], false);
            VerifyItem(memberNode, 3, items[1], false);
            VerifyItem(memberNode, 4, items[0], false);
        }
示例#16
0
        /// <summary>
        /// save asset guid in the list represented by the key.
        /// if there is no list yet, create it
        /// </summary>
        /// <param name="asset">asset to save</param>
        /// <param name="key">key that contain the list of assets</param>
        /// <param name="additionnalJsonData">any additional data associated with that asset (must be serializable to JSON)</param>
        /// <returns></returns>
        public static void SaveAssetReference(UnityEngine.Object asset, string key, string additionnalJsonData)
        {
            ListContainer guidAssets;
            ListContainer guidAssetsAdditionnalData;

            if (EditorPrefs.HasKey(key))
            {
                guidAssets = JsonUtility.FromJson <ListContainer>(EditorPrefs.GetString(key));
                guidAssetsAdditionnalData = JsonUtility.FromJson <ListContainer>(EditorPrefs.GetString(key + KEY_OF_ADDITIONNAL_DATA));
            }
            else
            {
                guidAssets = new ListContainer(new List <string>(1));
                guidAssetsAdditionnalData = new ListContainer(new List <string>(1));
            }

            //if this object is already saved, just update the additionnalData
            string currentGuidAsset = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(asset));

            if (ContainIndex(guidAssets.List, currentGuidAsset, out int index))
            {
                guidAssetsAdditionnalData.List[index] = additionnalJsonData;
            }
            else
            {
                guidAssets.List.Add(currentGuidAsset);
                guidAssetsAdditionnalData.List.Add(additionnalJsonData);
            }

            string jsonData           = JsonUtility.ToJson(guidAssets);
            string jsonAdditionalData = JsonUtility.ToJson(guidAssetsAdditionnalData);

            EditorPrefs.SetString(key, jsonData);
            EditorPrefs.SetString(key + KEY_OF_ADDITIONNAL_DATA, jsonAdditionalData);
        }
示例#17
0
        public override void DoWindowContents(Rect inRect)
        {
            ListContainer mainCont = new ListContainer();

            mainCont.spaceBetween = ListContainer.SPACE;

            mainCont.Add(new TextWidget("ATTENTION: This feature is highly experimental. Only use it if you're playing with a save you could potentially corrupt."));

            //Adds a scrollable container for trading colonists.
            ListContainer columnCont = new ListContainer();

            columnCont.drawAlternateBackground = true;
            mainCont.Add(new ScrollContainer(columnCont, scrollPosition, (s) => { scrollPosition = s; }));

            float beginY = 0f; //Unused

            foreach (Pawn colonist in Find.MapPawns.FreeColonists)
            {
                ListContainer rowCont = new ListContainer(ListFlow.ROW);
                rowCont.spaceBetween = ListContainer.SPACE;
                columnCont.Add(new HeightContainer(rowCont, ROW_HEIGHT));
                rowCont.Add(new ButtonWidget(colonist.Label, () => OnColonistClick(colonist), false));
            }

            cont.Draw(inRect);
        }
示例#18
0
        public void ListNotEqualsTest()
        {
            // setup
            string nameA  = "Timmy";
            var    itemsA = new List <string>
            {
                "appleA",
                "bananaA"
            };

            string nameB  = "Timmy";
            var    itemsB = new List <string>
            {
                "appleB",
                "bananaB"
            };

            var listContainerA = new ListContainer
            {
                Name  = nameA,
                Items = itemsA
            };

            var listContainerB = new ListContainer
            {
                Name  = nameB,
                Items = itemsB
            };

            // test
            var equal = listContainerA.Equals(listContainerB);

            // assert
            Assert.IsFalse(equal);
        }
示例#19
0
    public static string SaveObj(ISavable obj)
    {
        Debug.Log(obj);
        FieldInfo[] prop = obj.GetType().GetFields();
        Array.Sort(prop, delegate(FieldInfo x, FieldInfo y) { return(x.Name.CompareTo(y.Name)); });

        List <string> comps = new List <string>();

        comps.Add(obj.getPrefab());
        string STransform = JsonUtility.ToJson(new STransform(((Component)obj).gameObject.transform));

        comps.Add(STransform);

        foreach (FieldInfo p in prop)
        {
            //Debug.Log(p);
            if (null != p && !p.IsNotSerialized)
            {
                Debug.Log(p);
                Type   pType = p.FieldType;
                object pVal  = p.GetValue(obj);
                pVal = Convert.ChangeType(pVal, pType);
                //Debug.Log(pVal);
                comps.Add(JsonUtility.ToJson(pVal));
            }
        }

        ListContainer <string> compsContainer = new ListContainer <string>();

        compsContainer.lis = comps;
        string retval = JsonUtility.ToJson(compsContainer);

        return(retval);
    }
示例#20
0
    private void LoadGameData()
    {
        string filePath = Application.dataPath + gameDataProjectFilePath;

        if (File.Exists(filePath))
        {
            string        dataAsJson = File.ReadAllText(filePath);
            ListContainer container  = JsonUtility.FromJson <ListContainer>(dataAsJson);
            if (container.dataList != null)
            {
                scores = container.dataList;
                scores.Sort(delegate(GameScore x, GameScore y)
                {
                    return(y.score.CompareTo(x.score));
                });
            }
            else
            {
                scores = new List <GameScore>();
            }
        }
        else
        {
            scores = new List <GameScore>();
        }
    }
示例#21
0
        public static void SaveConfig()
        {
            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

            SetConfigValue(config, "AzureAccountKey", AzureAccountKey);
            SetConfigValue(config, "AzureAccountName", AzureAccountName);
            SetConfigValue(config, "SignatureSize", SignatureSize.ToString());
            SetConfigValue(config, "IsDev", IsDev);

            SetConfigValue(config, "RetryAttemptDelayInSeconds", RetryAttemptDelayInSeconds.ToString());
            SetConfigValue(config, "MaxRetryAttempts", MaxRetryAttempts.ToString());
            SetConfigValue(config, "DownloadDirectory", DownloadDirectory);
            SetConfigValue(config, "Verbose", Verbose.ToString());
            SetConfigValue(config, "AmDownloading", AmDownloading.ToString());
            SetConfigValue(config, "UseBlobCopy", UseBlobCopy.ToString());
            SetConfigValue(config, "ListContainer", ListContainer.ToString());
            SetConfigValue(config, "MonitorBlobCopy", MonitorBlobCopy.ToString());
            SetConfigValue(config, "ParallelFactor", ParallelFactor.ToString());
            SetConfigValue(config, "ChunkSizeInMB", ChunkSizeInMB.ToString());

            SetConfigValue(config, "SharedAccessSignatureDurationInSeconds", SharedAccessSignatureDurationInSeconds.ToString());


            config.Save(ConfigurationSaveMode.Modified);
            ConfigurationManager.RefreshSection("appSettings");
        }
示例#22
0
        public override void DoWindowContents(Rect inRect)
        {
            ListContainer mainCont = new ListContainer();

            mainCont.spaceBetween = ListContainer.SPACE;

            mainCont.Add(new TextWidget("ATTENTION: This feature is highly experimental. Only use it if you're playing with a save you could potentially corrupt."));

            //Adds a scrollable container for trading animals.
            ListContainer columnCont = new ListContainer();

            columnCont.drawAlternateBackground = true;
            mainCont.Add(new ScrollContainer(columnCont, scrollPosition, (s) => { scrollPosition = s; }));

            float beginY = 0f; //Unused

            foreach (Pawn animal in Find.VisibleMap.mapPawns.AllPawns.Where(p => p.RaceProps.Animal && p.Faction == Faction.OfPlayer))
            {
                ListContainer rowCont = new ListContainer(ListFlow.ROW);
                rowCont.spaceBetween = ListContainer.SPACE;
                columnCont.Add(new HeightContainer(rowCont, 40f));
                rowCont.Add(new ButtonWidget(animal.Label, () => OnAnimalClick(animal), false));
            }

            mainCont.Draw(inRect);
        }
        public void ObjectAppenderListEqualsTest()
        {
            // setup
            string nameA  = "Timmy";
            var    itemsA = new List <string>
            {
                "apple",
                "banana"
            };

            string nameB  = "Timmy";
            var    itemsB = new List <string>
            {
                "apple",
                "banana"
            };

            var listContainerA = new ListContainer
            {
                Name  = nameA,
                Items = itemsA
            };

            var listContainerB = new ListContainer
            {
                Name  = nameB,
                Items = itemsB
            };

            // test
            var equal = listContainerA.Equals(listContainerB);

            // assert
            Assert.IsTrue(equal);
        }
示例#24
0
        public Task command_backup(string[] args)
        {
            if (args.Length < 1)
            {
                Console.WriteLine("backup: not enough arguments, try `help`");
                return(Task.FromResult(false));
            }

            ListContainer <ListContainer <string> > backup = new ListContainer <ListContainer <string> >();

            foreach (Playlist pl in Program.Core.DataSource.Playlists)
            {
                ListContainer <string> plBackup = new ListContainer <string>();
                plBackup.List.Add(pl.Name);
                foreach (PlaylistItem item in pl.PlaylistItems)
                {
                    plBackup.List.Add(item.Item);
                }
                backup.List.Add(plBackup);
            }

            using (FileStream fs = File.Create(args[0]))
            {
                Serializer.Serialize(fs, backup);
            }

            Console.WriteLine(string.Format("Backup written to {0}", args[0]));
            return(Task.FromResult(false));
        }
示例#25
0
        public void NewList(object sender, RoutedEventArgs args)
        {
            Background            = new SolidColorBrush(Color.FromRgb(0, 200, 200));
            label                 = new TextBox();
            label.FontFamily      = font;
            container             = new ListContainer();
            label.Text            = "NewToDoList";
            label.Background      = new SolidColorBrush(Color.FromRgb(0, 200, 200));
            label.BorderThickness = new Thickness(0);
            AllowDrop             = true;

            button_add = new Button();
            button_add.HorizontalAlignment = HorizontalAlignment.Stretch;
            button_add.VerticalAlignment   = VerticalAlignment.Bottom;
            button_add.BorderThickness     = new Thickness(0);
            button_add.Background          = new SolidColorBrush(accent);
            button_add.Content             = "Add";
            button_add.Click     += b_Add;
            button_add.FontFamily = font;
            GridContent.Height    = container.Height;
            GridContent.Children.Add(label);
            GridContent.Children.Add(container);
            GridContent.Children.Add(button_add);
            GridContent.UpdateLayout();
            ThemeManager_IsThemeChanged(null, null);
        }
		public FormCommonListEditor()
		{
			InitializeComponent();
			_advertiser = new ListContainer<NameCodePair>("Advertisers", ListManager.Instance.Advertisers.Items.Select(a => new NameCodePair { Name = a }));
			_decisionMakers = new ListContainer<NameCodePair>("Decision Makers", ListManager.Instance.DecisionMakers.Items.Select(dm => new NameCodePair { Name = dm }));
			xtraTabControl.TabPages.AddRange(new[] { _advertiser, _decisionMakers });
		}
示例#27
0
 private void InitNode(string a_path, ListContainer a_parent)
 {
     i_path        = a_path;
     i_name        = Path.GetFileNameWithoutExtension(a_path);
     i_parent      = a_parent;
     nodeName.text = i_name;
 }
示例#28
0
        public override void DoWindowContents(Rect inRect)
        {
            ListContainer mainCont = new ListContainer();

            mainCont.spaceBetween = ListContainer.SPACE;

            // Title
            mainCont.Add(new TextWidget("Ship to " + this.user.name, GameFont.Medium, TextAnchor.MiddleCenter));

            /**
             * Draw the search input
             */
            mainCont.Add(new Container(new TextFieldWidget(filterTerm, (s) => {
                filterTerm = s;
                FilterInventory();
            }), 150f, 30f));

            /**
             * Drawing the inventory
             */
            ListContainer columnCont = new ListContainer();

            columnCont.drawAlternateBackground = true;
            mainCont.Add(new ScrollContainer(columnCont, scrollPosition, (s) => { scrollPosition = s; }));

            foreach (List <Thing> entry in filteredInventory)
            {
                Thing thing      = entry[0];
                int   stackCount = entry.Sum((e) => e.stackCount);

                int chosenCount = 0;
                chosenThings.TryGetValue(entry, out chosenCount);

                ListContainer rowCont = new ListContainer(ListFlow.ROW);
                rowCont.spaceBetween = ListContainer.SPACE;
                columnCont.Add(new HeightContainer(rowCont, ROW_HEIGHT));

                rowCont.Add(new Container(new ThingIconWidget(thing), ROW_HEIGHT, ROW_HEIGHT));
                rowCont.Add(new TextWidget(thing.LabelCapNoCount, GameFont.Small, TextAnchor.MiddleLeft));
                rowCont.Add(new TextWidget(stackCount.ToString(), GameFont.Small, TextAnchor.MiddleRight));

                // We add the controls for changing the quantity sent
                ListContainer controlsCont = new ListContainer(ListFlow.ROW);
                rowCont.Add(new WidthContainer(controlsCont, CONTROLS_WIDTH));

                controlsCont.Add(new ButtonWidget("-100", () => ChangeChosenCount(entry, -100)));
                controlsCont.Add(new ButtonWidget("-10", () => ChangeChosenCount(entry, -10)));
                controlsCont.Add(new ButtonWidget("-1", () => ChangeChosenCount(entry, -1)));
                controlsCont.Add(new TextWidget(chosenCount.ToString(), GameFont.Small, TextAnchor.MiddleCenter));
                controlsCont.Add(new ButtonWidget("+1", () => ChangeChosenCount(entry, 1)));
                controlsCont.Add(new ButtonWidget("+10", () => ChangeChosenCount(entry, 10)));
                controlsCont.Add(new ButtonWidget("+100", () => ChangeChosenCount(entry, 100)));
            }

            // We add the send button
            mainCont.Add(new HeightContainer(new ButtonWidget("Send", OnSendClick), ROW_HEIGHT));

            mainCont.Draw(inRect);
        }
示例#29
0
 public CSVImport()
 {
     listContainer      = ListContainer.GetInstance();
     listOfContractors  = new List <Contractor>();
     listOfRouteNumbers = new List <RouteNumber>();
     listOfOffers       = new List <Offer>();
     encoding           = Encoding.GetEncoding("iso-8859-1");
 }
示例#30
0
 public void InitializeDirectory(string a_path, ListContainer a_parent)
 {
     InitNode(a_path, a_parent);
     if (filePic != null)
     {
         picture.sprite = filePic;
     }
 }
示例#31
0
 public CSVExportToCallList(string filePath)
 {
     //*ændring af filePath til this.filePath så navngivning passer og variablene ikke bliver byttet rundt
     this.filePath    = filePath;
     listContainer    = ListContainer.GetInstance();
     winningOfferList = listContainer.outputList;
     encoding         = Encoding.GetEncoding("iso-8859-1");
 }
 private void ignore(ListContainer sc)
 {
     sc.State = SyncStates_Enum.SynchronizedState;
 }
 private void conflictResolved(ListContainer sc)
 {
     //Idee: Teile diese Typ in update des sourceObjects beim ConflictHandling und update des sinkObjects bei der Synchronisation
     update(sc);
 }
        private void update(ListContainer sc)
        {
            try
            {
                ISerializableObject sourceObject = sc.iso;
                SyncItem si = FetchSyncItem(sourceObject.Rowguid);
                Guid sinkGuid = sourceObject.Rowguid;
                ISerializableObject sinkObject = FetchObject(sinkSerializer, sinkGuid, sourceObject.GetType());
                if (LookupSynchronizationInformation.getImageClasses().Contains(sourceObject.GetType()))
                {
                    //Bilder können nicht aktualisiert werden
                    ignore(sc);
                    return;
                }
                else
                {
                    copyToSinkObject(sourceObject, sinkObject);
                    adjustAutoIncKeys(sinkObject);//Kann man verhindern, dass "richtige" Schlüssel zunächst falsch überschrieben und dann wieder richt zurücküberschrieben werden?
                }
                sinkSerializer.Connector.UpdatePlain(sinkObject);
                syncSerializer.Connector.Save(si);

                sinkObject = FetchObject(sinkSerializer, sinkGuid, sourceObject.GetType());
                sc.State = SyncStates_Enum.SynchronizedState;
            }
            catch (Exception e)
            {
                MessageBox.Show("Update Failure: " + e.Message);
            }
        }
 private void insert(ListContainer sc)
 {
     ISerializableObject sourceObject = sc.iso;
     ISerializableObject sinkObject = sinkSerializer.CreateISerializableObject(sourceObject.GetType(),sc.iso.Rowguid);//Hier werden die Relationen mitgefüllt. Eigentlich ist da nicht nötig->Methode ändern? Zeitersparnis?
     //Evtl. Problem, dass nicht alle Beziehungen aufgelöst werden können, weil noch nicht alle Objekte "rübersynchronisert" wurden.
     copyToSinkObject(sourceObject, sinkObject);
     if (LookupSynchronizationInformation.getImageClasses().Contains(sourceObject.GetType()))
     {
         try
         {
             MessageBox.Show("Insert Picture:" + sinkObject.Rowguid.ToString());
             if (this.pictrans == null)
                 throw new TransferException("No TransferService is added");
             insertPicture(sinkObject);
         }
         catch (Exception ex)
         {
             MessageBox.Show("Picture SyncFailure: " + ex.Message);
             return;
         }
     }
     try
     {
         adjustAutoIncKeys(sinkObject);
         sinkSerializer.Connector.InsertPlain(sinkObject);
         SyncItem si = syncSerializer.CreateISerializableObject<SyncItem>();
         si.SyncGuid = sourceObject.Rowguid;
         si.ClassID = sourceObject.GetType().Name;
         syncSerializer.Connector.Save(si);
         sinkObject = FetchObject(sinkSerializer, sinkObject.Rowguid, sinkObject.GetType());//Mit angepasstem AutoIncSChlüssel aus der DB holen
         sc.State = SyncStates_Enum.SynchronizedState;
     }
     catch (Exception e)
     {
         MessageBox.Show("Insert Failure: " + e.Message + " All dependent Insert will also Fail and notice You");
     }
 }
示例#36
0
        public void Write_InternalFixArray()
        {
            ByteWriter s = new ByteWriter();

            WriteBuilder b = new WriteBuilder();
            Writer w = b.Create(s);

            ListContainer val = new ListContainer();
            val.Field1 = new int[3];
            val.Field1[0] = 1;
            val.Field1[1] = 2;
            val.Field1[2] = 3;
            val.Field2 = new List<uint>();
            val.Field3 = "";

            w.Write<ListContainer>(val);

            Assert.AreEqual(new byte[]{
                0x00, 0x00, 0x00, 0x01,
                0x00, 0x00, 0x00, 0x02,
                0x00, 0x00, 0x00, 0x03,
                0x00, 0x00, 0x00, 0x00,
                0x00, 0x00, 0x00, 0x00}, s.ToArray());
        }
 private void delete(ListContainer sc)
 {
     //Wenn nach Bestätigung immer noch deleted: Löscht sc.iso aus der source-Datenbank und die SyncItems aus der Synchronisationsdatenbank.
     ISerializableObject sourceObject = sc.iso;
     SyncItem syncItem = FetchSyncItem(sourceObject.Rowguid);
     sourceSerializer.Connector.Delete(sourceObject);
     syncSerializer.Connector.Delete(syncItem);
     sc.State = SyncStates_Enum.SynchronizedState;
 }
示例#38
0
		public void GetListItemPropertiesTest2 ()
		{
			ListContainer list_container = new ListContainer ();
			PropertyDescriptorCollection list_properties = TypeDescriptor.GetProperties (list_container);
			PropertyDescriptor property = list_properties ["List"];

			PropertyDescriptorCollection property_coll = ListBindingHelper.GetListItemProperties (list_container,
				new PropertyDescriptor [] { property });
			Assert.AreEqual (1, property_coll.Count, "#A1");
			Assert.AreEqual ("Value", property_coll [0].Name, "#A2");

			// Empty property descriptor array 
			// Returns list_container properties, since it's not a list
			property_coll = ListBindingHelper.GetListItemProperties (list_container, new PropertyDescriptor [0]);
			Assert.AreEqual (2, property_coll.Count, "#B1");

			// Non list property
			// Returns the propeties of the type of that property
			property = list_properties ["NonList"];
			property_coll = ListBindingHelper.GetListItemProperties (list_container,
				new PropertyDescriptor [] { property });
			Assert.AreEqual (1, property_coll.Count, "#C1");
			Assert.AreEqual ("Value", property_coll [0].Name, "#C2");

			// Pass two properties
			property = list_properties ["List"];
			PropertyDescriptor property2 = list_properties ["NonList"];
			property_coll = ListBindingHelper.GetListItemProperties (list_container,
				new PropertyDescriptor [] { property2, property });
			Assert.AreEqual (0, property_coll.Count, "#D1");

			//
			// Third overload - doble re-direction
			//
			SuperContainer super_container = new SuperContainer ();
			property = list_properties ["List"];

			property_coll = ListBindingHelper.GetListItemProperties (super_container, "ListContainer",
				new PropertyDescriptor [] { property });
			Assert.AreEqual (1, property_coll.Count, "#E1");
		}
示例#39
0
		public void GetListTest ()
		{
			ListSource lsource = new ListSource (true);
			Stack stack = new Stack ();
			stack.Push (3);

			Assert.IsTrue (ListBindingHelper.GetList (lsource) is SimpleItem [], "#A1");
			Assert.AreEqual ("NonList", ListBindingHelper.GetList ("NonList"), "#A2");
			Assert.AreEqual (null, ListBindingHelper.GetList (null), "#A3");
			Assert.AreEqual (stack, ListBindingHelper.GetList (stack), "#A4"); // IEnumerable

			Assert.IsTrue (ListBindingHelper.GetList (lsource, String.Empty) is SimpleItem [], "#B1");
			Assert.AreEqual ("NonList", ListBindingHelper.GetList ("NonList", String.Empty), "#B2");
			Assert.AreEqual (null, ListBindingHelper.GetList (null, "DontExist"), "#B3");
			Assert.IsTrue (ListBindingHelper.GetList (lsource, null) is SimpleItem [], "#B4");

			ListContainer list_container = new ListContainer ();
			Assert.AreEqual (new object [0], ListBindingHelper.GetList (list_container, "List"), "#C1");

			// Even if IListSource.ContainsListCollection is false, we return the result of GetList ()
			lsource = new ListSource (false);
			Assert.IsTrue (ListBindingHelper.GetList (lsource) is SimpleItem [], "#D1");

			// DataMember is not if IList type
			Assert.AreEqual (new SimpleItem (), ListBindingHelper.GetList (list_container, "NonList"), "#E1");

			// List (IEnumerable)
			stack.Clear ();
			stack.Push (new SimpleItem (3));
			stack.Push (new SimpleItem (7));
			object obj = ListBindingHelper.GetList (stack, "Value");
			Assert.IsTrue (obj != null, "#F1");
			Assert.IsTrue (obj is int, "#F2");
			Assert.AreEqual (7, (int) obj, "#F3");

			// ListSource returning an IEnumerable,
			// which in turn retrieves dataMember
			obj = ListBindingHelper.GetList (lsource, "Value");
			Assert.IsTrue (obj != null, "#G1");
			Assert.IsTrue (obj is int, "#G2");
			Assert.AreEqual (0, (int)obj, "#G3");

			// Empty IEnumerable - valid property for list item type
			// Since it's empty, it needs to check whether the datamember is
			// a valid value, and thus we need the datasource to also be IList
			// Then we need a parameterized IEnumerable, which returns null.
			// *Observation: if it is empty and it doesn't implement IList,
			// it doesn't have a way to get the properties, and will throw an exc
			StringCollection str_coll = new StringCollection ();
			obj = ListBindingHelper.GetList (str_coll, "Length");
			Assert.IsNull (obj, "#H1");

			// IEnumerable that returns instances of ICustomTypeDescriptor
			// Use DataTable as source, which returns, when enumerating,
			// instances of DataRowView, which in turn implement ICustomTypeDescriptor
			DataTable table = new DataTable ();
			table.Columns.Add ("Id", typeof (int));
			table.Rows.Add (666);
			object l = ListBindingHelper.GetList (table, "Id");
			Assert.AreEqual (666, l, "#J1");

			try {
				ListBindingHelper.GetList (list_container, "DontExist");
				Assert.Fail ("#EXC1");
			} catch (ArgumentException) {
			}

			// Empty IEnumerable not implementing IList
			// Don't have a way to know whether at least datamember is valid or not.
			try {
				stack.Clear ();
				obj = ListBindingHelper.GetList (stack, "Value");
				Assert.Fail ("#EXC3");
			} catch (ArgumentException) {
			}

		}
示例#40
0
		public void GetListItemTypeTest ()
		{
			List<int> list = new List<int> ();
			DateTime [] date_list = new DateTime [0];
			StringCollection string_coll = new StringCollection ();

			Assert.AreEqual (typeof (int), ListBindingHelper.GetListItemType (list), "#A1");
			Assert.AreEqual (typeof (DateTime), ListBindingHelper.GetListItemType (date_list), "#A2");
			Assert.AreEqual (typeof (string), ListBindingHelper.GetListItemType (string_coll), "#A4");

			// Returns the type of the first item if could enumerate
			ArrayList arraylist = new ArrayList ();
			arraylist.Add ("hellou");
			arraylist.Add (3.1416);
			Assert.AreEqual (typeof (string), ListBindingHelper.GetListItemType (arraylist), "#B1");

			// Returns the type of the public Item property, not the explicit one
			ListView.ColumnHeaderCollection col_collection = new ListView.ColumnHeaderCollection (null);
			Assert.AreEqual (typeof (ColumnHeader), ListBindingHelper.GetListItemType (col_collection), "#C1");

			ListContainer list_container = new ListContainer ();
			String str = "A";
			Assert.AreEqual (typeof (IList), ListBindingHelper.GetListItemType (list_container, "List"), "#D1");
			Assert.AreEqual (typeof (int), ListBindingHelper.GetListItemType (str, "Length"), "#D2");
			// Property doesn't exist - fallback to object type
			Assert.AreEqual (typeof (object), ListBindingHelper.GetListItemType (str, "DoesntExist"), "#D3");

			// finally, objects that are not array nor list
			Assert.AreEqual (typeof (double), ListBindingHelper.GetListItemType (3.1416), "#E1");
			Assert.AreEqual (null, ListBindingHelper.GetListItemType (null), "#E2");

			// bug #507120 - an IEnumerator instance with a Current value returning null,
			// falling back to IList.this detection, if possible
			Assert.AreEqual (typeof (string), ListBindingHelper.GetListItemType (new NullEnumerable (), null), "#F1");
		}