adding command infrastructure
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/command/Command.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/command/Command.xtend
new file mode 100644
index 0000000..f2a2f95
--- /dev/null
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/command/Command.xtend
@@ -0,0 +1,5 @@
+package org.eclipse.nebula.widgets.nattable.core.command
+
+interface Command {
+
+}
\ No newline at end of file
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/command/CommandHandler.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/command/CommandHandler.xtend
new file mode 100644
index 0000000..0871a65
--- /dev/null
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/command/CommandHandler.xtend
@@ -0,0 +1,7 @@
+package org.eclipse.nebula.widgets.nattable.core.command
+
+interface CommandHandler {
+
+ def void doCommand(Command command)
+
+}
\ No newline at end of file
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/Layer.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/Layer.xtend
index ee16aba..f7e3569 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/Layer.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/Layer.xtend
@@ -1,5 +1,6 @@
package org.eclipse.nebula.widgets.nattable.core.layer
+import org.eclipse.nebula.widgets.nattable.core.command.CommandHandler
import org.eclipse.nebula.widgets.nattable.core.event.EventListener
import org.eclipse.nebula.widgets.nattable.core.event.EventSource
import org.eclipse.nebula.widgets.nattable.core.layer.axis.Axis
@@ -8,7 +9,7 @@
/**
* A two-dimensional rectangular region of cells.
*/
-interface Layer extends EventSource, EventListener {
+interface Layer extends CommandHandler, EventSource, EventListener {
/**
* @return The Axis that characterizes the horizontal dimension of this layer.
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/impl/AbstractLayer.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/impl/AbstractLayer.xtend
index 311a54c..8d98b14 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/impl/AbstractLayer.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/impl/AbstractLayer.xtend
@@ -2,7 +2,12 @@
import org.eclipse.nebula.widgets.nattable.core.event.AbstractEventSourceSink
import org.eclipse.nebula.widgets.nattable.core.layer.Layer
+import org.eclipse.nebula.widgets.nattable.core.command.Command
abstract class AbstractLayer extends AbstractEventSourceSink implements Layer {
+ override doCommand(Command command) {
+ // Do nothing by default
+ }
+
}
\ No newline at end of file
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/impl/composite/CompositeLayer.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/impl/composite/CompositeLayer.xtend
index 17c9223..993ce70 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/impl/composite/CompositeLayer.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/impl/composite/CompositeLayer.xtend
@@ -4,6 +4,7 @@
import java.util.List
import org.eclipse.nebula.widgets.nattable.core.layer.Layer
import org.eclipse.nebula.widgets.nattable.core.layer.impl.AbstractLayer
+import org.eclipse.nebula.widgets.nattable.core.command.Command
/**
* A Layer which is composed of a number of other layers. Sublayers are arranged in rows and columns to create this larger composite layer.
@@ -55,6 +56,12 @@
new CompositeCell(this, subCell, xLayoutInfo.segmentOffset, yLayoutInfo.segmentOffset)
}
+ override doCommand(Command command) {
+ for (row : rows)
+ for (childLayer : row.childLayers)
+ childLayer.doCommand(command)
+ }
+
//
private def CompositeLayoutInfo getSubLayerLayoutPositionInfo(CompositeAxis compositeAxis, int segmentPosition) {