Beispiel #1
0
        public DistributionControl(TaxaPlugin plugin, Data.User user, TaxonViewModel taxon)
            : base(user, String.Format("Taxon::DistributionControl::{0}", taxon.TaxaID.Value))
        {
            InitializeComponent();

            this.AllowDrop = true;

            this.Taxon  = taxon;
            this.Plugin = plugin;
            txtDistribution.DataContext = taxon;

            var list = Service.GetDistribution(taxon.TaxaID);

            list.Sort((a, b) => {
                return(a.DistRegionFullPath.CompareTo(b.DistRegionFullPath));
            });

            _model = CreateModelFromList(list);
            tvwDist.ItemsSource = _model;
            ExpandAll(_model);
            grpDist.IsEnabled = false;

            taxon.DataChanged += new DataChangedHandler((t) => {
                RegisterUniquePendingChange(new UpdateDistQualDatabaseCommand(taxon.Taxon));
            });

            this.PreviewDragEnter += new DragEventHandler(DistributionControl_PreviewDrag);
            this.PreviewDragOver  += new DragEventHandler(DistributionControl_PreviewDrag);

            this.Drop += new DragEventHandler(DistributionControl_Drop);
        }
 public TaxonDropContext(TaxonViewModel source, TaxonViewModel target, TaxaPlugin plugin)
 {
     this.TaxaPlugin      = plugin;
     this.Source          = source;
     this.Target          = target;
     this.SourceRank      = TaxaPlugin.Service.GetTaxonRank(source.Taxon);
     this.TargetRank      = TaxaPlugin.Service.GetTaxonRank(target.Taxon);
     this.SourceChildRank = GetChildElementType(source);
     this.TargetChildRank = GetChildElementType(target);
 }
Beispiel #3
0
        public DistributionRegionExplorer(TaxaPlugin plugin, User user) : base(user, "Distribution Region Explorer")
        {
            InitializeComponent();

            this.Plugin = plugin;

            Loaded           += new RoutedEventHandler(DistributionRegionExplorer_Loaded);
            this.Unloaded    += new RoutedEventHandler(DistributionRegionExplorer_Unloaded);
            ChangesCommitted += new PendingChangesCommittedHandler(DistributionRegionExplorer_ChangesCommitted);

            TreeViewDragHelper.Bind(tvwRegions, TreeViewDragHelper.CreatePinnableGenerator(plugin.Name, LookupType.DistributionRegion));
            TreeViewDragHelper.Bind(tvwFind, TreeViewDragHelper.CreatePinnableGenerator(plugin.Name, LookupType.DistributionRegion));

            txtFind.PreviewKeyDown += new KeyEventHandler(txtFind_PreviewKeyDown);
        }
 public DragDropOptions(TaxaPlugin owner)
 {
     _owner = owner;
     InitializeComponent();
     Title = owner.GetCaption("DragDropOptions.Title");
 }
        public TaxonDetails(TaxaPlugin plugin, TaxonViewModel taxon, User user, Action <TaxonViewModel> committedAction, bool readOnly) : base(user, "TaxonDetails::" + taxon.TaxaID.Value)
        {
            InitializeComponent();

            this.Plugin      = plugin;
            _committedAction = committedAction;

            tabControl.AddTabItem("General", new TaxonNameDetails(taxon.TaxaID, User, committedAction)
            {
                IsReadOnly = readOnly
            });

            if (taxon.IsAvailableOrLiteratureName)
            {
                TaxonRank rank = Service.GetTaxonRank(taxon.Taxon);
                switch (rank.Category.ToLower())
                {
                case "g":
                    tabControl.AddTabItem("Available Name", new GenusAvailableNameControl(taxon, user)
                    {
                        IsReadOnly = readOnly
                    });
                    break;

                case "s":
                    tabControl.AddTabItem("Available Name", new SpeciesAvailableNameControl(taxon, user)
                    {
                        IsReadOnly = readOnly
                    });
                    break;

                default:
                    tabControl.AddTabItem("Available Name", new AvailableNameControl(taxon, user)
                    {
                        IsReadOnly = readOnly
                    });
                    break;
                }
            }
            else
            {
                tabControl.AddTabItem("Common Names", new CommonNamesControl(taxon, user)
                {
                    IsReadOnly = readOnly
                });
            }

            tabControl.AddTabItem("References", new ReferencesControl(user, TraitCategoryType.Taxon, taxon.TaxaID)
            {
                IsReadOnly = readOnly
            });

            if ((!taxon.AvailableName.ValueOrFalse() && !taxon.LiteratureName.ValueOrFalse()))
            {
                tabControl.AddTabItem("Distribution", new DistributionControl(Plugin, user, taxon)
                {
                    IsReadOnly = readOnly
                });
            }

            tabControl.AddTabItem("Multimedia", new MultimediaControl(User, TraitCategoryType.Taxon, taxon)
            {
                IsReadOnly = readOnly
            });
            tabControl.AddTabItem("Associates", new OneToManyControl(new AssociatesOneToManyController(User, TraitCategoryType.Taxon, taxon))
            {
                IsReadOnly = readOnly
            });
            tabControl.AddTabItem("Traits", new TraitControl(User, TraitCategoryType.Taxon, taxon)
            {
                IsReadOnly = readOnly
            });
            tabControl.AddTabItem("Notes", new NotesControl(User, TraitCategoryType.Taxon, taxon)
            {
                IsReadOnly = readOnly
            });
            tabControl.AddTabItem("Ownership", new OwnershipDetails(taxon.Taxon));

            this.Taxon = taxon;

            this.ChangesCommitted += new PendingChangesCommittedHandler(TaxonDetails_ChangesCommitted);
        }