aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/LayoutingQueue.cs
diff options
context:
space:
mode:
authorj-p <jp.bruyere@live.be>2018-12-11 23:20:54 +0100
committerGitHub <noreply@github.com>2018-12-11 23:20:54 +0100
commiteef19b533a0e2ce17f2762d3acfc5990496eaaa0 (patch)
tree6f09101bd8097c1a4ca6a216597bb5d4941453fa /src/LayoutingQueue.cs
parent65820f61457262b631eba35283c55135aecbc5f2 (diff)
parentf6732851fe211e22ff91716ac83dffc0cf09d620 (diff)
Merge pull request #44 from jpbruyere/xlib
Xlib
Diffstat (limited to 'src/LayoutingQueue.cs')
-rw-r--r--src/LayoutingQueue.cs110
1 files changed, 0 insertions, 110 deletions
diff --git a/src/LayoutingQueue.cs b/src/LayoutingQueue.cs
deleted file mode 100644
index 5f822bf7..00000000
--- a/src/LayoutingQueue.cs
+++ /dev/null
@@ -1,110 +0,0 @@
-//
-// LayoutingQueue.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2015 jp
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Diagnostics;
-
-namespace Crow
-{
- public class LayoutingQueue : LinkedList<LayoutingQueueItem>
- {
- public LayoutingQueue ()
- {
- }
- public void Enqueue(LayoutingType _lt, ILayoutable _object)
- {
- _object.RegisteredLQINodes.Add(this.AddLast (new LayoutingQueueItem (_lt, _object)));
- }
- LinkedListNode<LayoutingQueueItem> searchLqi(ILayoutable go, LayoutingType lt){
- for (int i = 0; i < go.RegisteredLQINodes.Count; i++) {
- if (go.RegisteredLQINodes [i].Value.LayoutType == lt)
- return go.RegisteredLQINodes [i];
- }
- return null;
- }
- public void EnqueueAfterParentSizing (LayoutingType _lt, ILayoutable _object)
- {
- LayoutingQueueItem lqi = new LayoutingQueueItem (_lt, _object);
- LinkedListNode<LayoutingQueueItem> parentLqi = searchLqi (_object.Parent, _lt);
-
- if (parentLqi == null)
- _object.RegisteredLQINodes.Add(this.AddLast (lqi));
- else
- _object.RegisteredLQINodes.Add(this.AddAfter (parentLqi, lqi));
- }
- public void EnqueueBeforeParentSizing (LayoutingType _lt, ILayoutable _object)
- {
- LayoutingQueueItem lqi = new LayoutingQueueItem (_lt, _object);
- LinkedListNode<LayoutingQueueItem> parentLqi = searchLqi (_object.Parent, _lt);
-
- if (parentLqi == null)
- _object.RegisteredLQINodes.Add(this.AddLast (lqi));
- else
- _object.RegisteredLQINodes.Add(this.AddBefore (parentLqi, lqi));
- }
- public void EnqueueAfterThisAndParentSizing (LayoutingType _lt, ILayoutable _object)
- {
- LayoutingQueueItem lqi = new LayoutingQueueItem (_lt, _object);
- LayoutingType sizing = LayoutingType.Width;
-
- if (_lt == LayoutingType.Y)
- sizing = LayoutingType.Height;
-
- LinkedListNode<LayoutingQueueItem> parentLqi = searchLqi (_object.Parent, sizing);
- LinkedListNode<LayoutingQueueItem> thisLqi = searchLqi (_object, sizing);
-
- if (parentLqi == null) {
- if (thisLqi != null)
- _object.RegisteredLQINodes.Add(this.AddAfter (thisLqi, lqi));
- else
- _object.RegisteredLQINodes.Add(this.AddLast (lqi));
- } else {
- if (thisLqi == null)
- _object.RegisteredLQINodes.Add(this.AddAfter (parentLqi, lqi));
- else {
- switch (sizing) {
- case LayoutingType.Width:
- if (_object.Parent.getBounds().Width<0)
- _object.RegisteredLQINodes.Add(this.AddAfter (parentLqi, lqi));
- else
- _object.RegisteredLQINodes.Add(this.AddAfter (thisLqi, lqi));
- break;
- case LayoutingType.Height:
- if (_object.Parent.getBounds().Height<0)
- _object.RegisteredLQINodes.Add(this.AddAfter (parentLqi, lqi));
- else
- _object.RegisteredLQINodes.Add(this.AddAfter (thisLqi, lqi));
- break;
- }
- }
- }
- }
- public LayoutingQueueItem Dequeue()
- {
- LayoutingQueueItem tmp = this.First.Value;
- tmp.GraphicObject.RegisteredLQINodes.Remove(this.First);
- this.RemoveFirst ();
- return tmp;
- }
- }
-}
-