public static EntityLink EntityLinkField(Rect rect, EntityLink value, Action <Data> entitySelectedCallback, Action <DataIdentifier, string> onDataIdentifierEntitySelectedCallback) { if (value == null) { value = new EntityLink(); } // TODO Icon var labelText = "None (EntityLink)"; if (value.IsDataIdentifierEntityLink) { labelText = $"{value.NameInArchive} (EntityLink)"; } else if (value.Entity != null) { labelText = $"{value.Entity.Name} (EntityLink)"; } var textFieldStyle = EditorStyles.textField; textFieldStyle.clipping = TextClipping.Clip; var mainButtonRect = rect; mainButtonRect.width -= 18; if (GUI.Button(mainButtonRect, labelText, textFieldStyle)) { if (value.IsDataIdentifierEntityLink) { if (value.DataIdentifier != null) { //DataListWindow.GetInstance().OpenDataSet(value.DataIdentifier.DataSetGuid, value.DataIdentifier.Name); } } else { if (value.Entity != null) { DataListWindow.GetInstance().OpenDataSet(value.Entity.DataSetGuid, value.Entity.Name); } } } var editorSkin = EditorGUIUtility.GetBuiltinSkin(EditorSkin.Inspector); var openButtonRect = rect; openButtonRect.width = 14; openButtonRect.position = new Vector2( mainButtonRect.position.x + mainButtonRect.width + 4, mainButtonRect.position.y); if (GUI.Button(openButtonRect, string.Empty, editorSkin.GetStyle("IN ObjectField"))) { SelectEntityWindow.Create(entitySelectedCallback, onDataIdentifierEntitySelectedCallback); } return(value); }
private void btnSelectTypes_Click(object sender, RoutedEventArgs e) { var type = SelectEntityWindow.SelectTypeInIDE(this.SelectEntityWindowViewModel); if (type != null) { SelectType(type); } }
private void btnSelectBaseType_Click(object sender, RoutedEventArgs e) { var type = SelectEntityWindow.SelectTypeInIDE(_dte); if (type != null) { txtBaseEntityName.Text = type.Name; } }
public static EntityLink EntityLinkField(string label, EntityLink value, Action <Data> entitySelectedCallback, Action <DataIdentifier, string> onDataIdentifierEntitySelectedCallback) { if (value == null) { value = new EntityLink(); } EditorGUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel(label); // TODO Icon var labelText = "None (EntityLink)"; if (value.IsDataIdentifierEntityLink) { labelText = $"{value.NameInArchive} (EntityLink)"; } else if (value.Entity != null) { labelText = $"{value.Entity.Name} (EntityLink)"; } var textFieldStyle = EditorStyles.textField; textFieldStyle.clipping = TextClipping.Clip; if (GUILayout.Button(labelText, textFieldStyle, GUILayout.ExpandWidth(true), GUILayout.MinWidth(0))) { if (value.IsDataIdentifierEntityLink) { if (value.DataIdentifier != null) { //DataListWindow.GetInstance().OpenDataSet(value.DataIdentifier.DataSetGuid, value.DataIdentifier.Name); } } else { if (value.Entity != null) { DataListWindow.GetInstance().OpenDataSet(value.Entity.DataSetGuid, value.Entity.Name); } } } var editorSkin = EditorGUIUtility.GetBuiltinSkin(EditorSkin.Inspector); if (GUILayout.Button(string.Empty, editorSkin.GetStyle("IN ObjectField"), GUILayout.Width(14f))) { SelectEntityWindow.Create(entitySelectedCallback, onDataIdentifierEntitySelectedCallback); } EditorGUILayout.EndHorizontal(); GUILayout.Space(3); return(value); }
private void btnSelectTypes_Click(object sender, RoutedEventArgs e) { var win = new SelectEntityWindow(); win.DataContext = this.SelectEntityWindowViewModel; var res = win.ShowDialog(); if (res.GetValueOrDefault()) { //ListBox.SelectedItem 属性无法双向绑定。原因不祥? //var type = sewVM.SelectedProject.SelectedEntityType; var type = win.lbTypes.SelectedItem as CodeClass; SelectType(type); } }
private void btnSelectTypes_Click(object sender, RoutedEventArgs e) { var vm = this.DataContext as DomainEntityRepositoryWizardWindowViewModel; var sewVM = new SelectEntityWindowViewModel(vm.DTE); var win = new SelectEntityWindow(); win.DataContext = sewVM; var res = win.ShowDialog(); if (res.GetValueOrDefault()) { //ListBox.SelectedItem 属性无法双向绑定。原因不祥? //var type = sewVM.SelectedProject.SelectedEntityType; var type = win.lbTypes.SelectedItem as CodeClass; vm.DomainNamespace = type.Namespace.FullName; vm.EntityTypeName = type.Name; vm.BaseTypeName = Helper.GetBaseClass(type).Name + Consts.RepositorySuffix; } }