Ejemplo n.º 1
0
		public EditRelationDialog(ActiveRecordDescriptor descriptor, Project project, ActiveRecordPropertyRelationDescriptor prop) : base(descriptor, project)
		{
			// This call is required by the Windows Form Designer.
			InitializeComponent();

			AssociationEnum assoc = AssociationEnum.Undefined;

			if (prop is ActiveRecordHasManyDescriptor)
			{
				hasManyButton.Checked = true;
				assoc = AssociationEnum.HasMany;
			}
			else if (prop is ActiveRecordBelongsToDescriptor)
			{
				belongsToButton.Checked = true;
				assoc = AssociationEnum.BelongsTo;
			}
			else if (prop is ActiveRecordHasAndBelongsToManyDescriptor)
			{
				hasAndBelongsToManyButton.Checked = true;
				assoc = AssociationEnum.HasAndBelongsToMany;
			}

			SelectedTarget = prop.TargetType;

			SwitchViewTo(assoc);

		}
		public ActiveRecordPropertiesDialog(ActiveRecordDescriptor descriptor, Project project)
		{
			_project = project;
			_descriptor = descriptor;

			if (descriptor is ActiveRecordDescriptorSubClass)
			{
				_parent = ((ActiveRecordDescriptorSubClass) descriptor).BaseClass;
			}

			InitializeComponent();

			Title = descriptor.ClassName + " Properties";

			FillClassDetails(descriptor);
			FillClassProperties(descriptor);
			FillClassRelationships(descriptor);
		}
Ejemplo n.º 3
0
		public AddRelationDialog(ActiveRecordDescriptor descriptor, Project project) : this()
		{
			_descriptor = descriptor;
			_project = project;

			_relationBuilder = (IRelationshipBuilder) ServiceRegistry.Instance[ typeof(IRelationshipBuilder) ];

			className.Text = _descriptor.ClassName;

			targetTableList.ValueMember = "ClassName";

			foreach(IActiveRecordDescriptor desc in _project.Descriptors)
			{
				if (desc is ActiveRecordBaseDescriptor) continue;
				if (desc.ClassName == null) continue;

				targetTableList.Items.Add( desc );
			}
		}
Ejemplo n.º 4
0
		private void OnChanged(object sender, Project project)
		{
			this.Text = String.Format("ActiveRecord Generator - [{0}]", project.Name);
		}
Ejemplo n.º 5
0
		private void OnProjectReplaced(object sender, Project oldProject, Project newProject)
		{
			OnChanged(sender, newProject);
		}
Ejemplo n.º 6
0
		private void _model_OnProjectReplaced(object sender, Project oldProject, Project newProject)
		{
			// Clear!

			_desc2Shape.Clear();
			graphControl1.Nodes.Clear();
			
			OnProjectChange(sender, newProject);
		}
Ejemplo n.º 7
0
		private void OnProjectChange(object sender, Project project)
		{
			DisableWizard();

			foreach(IActiveRecordDescriptor descriptor in project.Descriptors)
			{
				Shape shape = ObtainShape(descriptor);

				if (graphControl1.Nodes.Contains(shape)) continue;

				shape = CreateShapeFrom(descriptor);

				if (shape.X == 0 && shape.Y == 0)
				{
					shape.X = rnd.Next(50, graphControl1.Width - 100);
					shape.Y = rnd.Next(50, graphControl1.Height - 20);
				}

				CreateConnectionsIfNecessary(shape);
			}

			RefreshView();

			EnableWizard();
		}
Ejemplo n.º 8
0
		private void UpdateTree(Project project)
		{
			treeView1.Nodes.Clear();

			TreeNode projectNode = new TreeNode(project.Name, ImageConstants.Database_Views, ImageConstants.Database_Views);

			treeView1.Nodes.Add(projectNode);

			foreach(DatabaseDefinition def in project.Databases)
			{
				TreeNode dbNode = new TreeNode(def.Alias, ImageConstants.Database_Catalog, ImageConstants.Database_Catalog);
				projectNode.Nodes.Add(dbNode);
				dbNode.EnsureVisible();

				foreach(TableDefinition table in def.Tables)
				{
					TreeNode tableNode = new TreeNode(table.Name, ImageConstants.Database_Table, ImageConstants.Database_Table);
					dbNode.Nodes.Add(tableNode);

					foreach(ColumnDefinition colDef in table.Columns)
					{
						TreeNode colNode = new TreeNode(colDef.Name, ImageConstants.Database_Field, ImageConstants.Database_Field);
						tableNode.Nodes.Add(colNode);
					}
				}
			}

			Hashtable db2Node = new Hashtable();

			foreach(DictionaryEntry entry in project.BaseClasses)
			{
				IActiveRecordDescriptor baseDesc = entry.Value as IActiveRecordDescriptor;

				TreeNode arBaseNode = new TreeNode(baseDesc.ClassName, ImageConstants.Classes_Entity, ImageConstants.Classes_Entity);
				arBaseNode.Tag = baseDesc;

				projectNode.Nodes.Add(arBaseNode);

				db2Node[entry.Key] = arBaseNode;
			}

			foreach(IActiveRecordDescriptor desc in project.Descriptors)
			{
				ActiveRecordDescriptor arDesc = desc as ActiveRecordDescriptor;

				if (arDesc == null) continue;

				TreeNode arNode = new TreeNode(desc.ClassName, ImageConstants.Classes_Entity, ImageConstants.Classes_Entity);
				arNode.Tag = arDesc;

				TreeNode parent = db2Node[arDesc.Table.DatabaseDefinition] as TreeNode;

				parent.Nodes.Add(arNode);
			}
		}
Ejemplo n.º 9
0
		private void OnProjectChange(object sender, Project project)
		{
			UpdateTree(project);
		}
Ejemplo n.º 10
0
		private void OnProjectReplaced(object sender, Project oldProject, Project newProject)
		{
			UpdateTree(newProject);
		}