protected override void OnLoad(EventArgs e) { base.OnLoad(e); EditableObject obj; #region Create scene and add objects to it scene = new EditorScene(); scene.objects.Add(obj = new ExampleObject(new Vector3(0, -4, 0))); List <PathPoint> pathPoints = new List <PathPoint> { new PathPoint( new Vector3(0, 0, 0), new Vector3(0, 0, 0), new Vector3(2, 0, 0) ), new PathPoint( new Vector3(8, 4, 2), new Vector3(-4, 0, 4), new Vector3(4, 0, -4) ), new PathPoint( new Vector3(4, 2, -6), new Vector3(0, 0, 0), new Vector3(0, 0, 0) ) }; scene.objects.Add(obj = new Path(pathPoints)); for (int i = 0; i < 20; i++) { pathPoints = new List <PathPoint> { new PathPoint( new Vector3(-3, 6 + i * 2, 0), new Vector3(0, 0, -1.75f), new Vector3(0, 0, 1.75f) ), new PathPoint( new Vector3(0, 6 + i * 2, 3), new Vector3(-1.75f, 0, 0), new Vector3(1.75f, 0, 0) ), new PathPoint( new Vector3(3, 6 + i * 2, 0), new Vector3(0, 0, 1.75f), new Vector3(0, 0, -1.75f) ), new PathPoint( new Vector3(0, 6 + i * 2, -3), new Vector3(1.75f, 0, 0), new Vector3(-1.75f, 0, 0) ) }; scene.objects.Add(obj = new Path(pathPoints) { Closed = true }); } for (int i = 5; i < 10000; i++) { scene.objects.Add(obj = new TransformableObject(new Vector3(i, 0, 0), Vector3.Zero, Vector3.One)); } #endregion //setup the gl controls gL_Control.MainDrawable = scene; gL_Control.ActiveCamera = new GL_EditorFramework.StandardCameras.InspectCamera(1f); gL_ControlLegacy1.MainDrawable = new SingleObject(new Vector3()); gL_Control.CameraDistance = 20; //add event handlers to scene and gl control scene.SelectionChanged += Scene_SelectionChanged; scene.ObjectsMoved += Scene_ObjectsMoved; scene.ListChanged += Scene_ListChanged; scene.ListEntered += Scene_ListEntered; scene.ListInvalidated += Scene_ListInvalidated; gL_Control.KeyDown += GL_ControlModern1_KeyDown; //add categories to sceneListView (in this case 15 references to the same list, //which should never be done and only serves for demonstration purposes) for (int i = 0; i < 15; i++) { sceneListView1.RootLists.Add("Test" + i, scene.objects); } sceneListView1.UpdateComboBoxItems(); //link the scenes selected objs to sceneListView sceneListView1.SelectedItems = scene.SelectedObjects; //set current category (highly recommended to do once all categories are added sceneListView1.SetRootList("Test0"); //add event handlers to sceneListView sceneListView1.SelectionChanged += SceneListView1_SelectionChanged; sceneListView1.ItemsMoved += SceneListView1_ItemsMoved; sceneListView1.ListExited += SceneListView1_ListExited; //auto select the 5th object for testing purposes scene.ToogleSelected(scene.objects[4], true); Scene_SelectionChanged(this, null); }