aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.CodeGeneration/Templates/TangoDAOJavaFile.cshtml
blob: 46bd6532c89756ae713dfc5a388dc0641e659d4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.twine.tango.dal.dao;

import com.raizlabs.android.dbflow.sql.language.SQLite;
@foreach (var entity in Model.Entities)
{
    <div>import com.twine.tango.dal.entities.@(entity.Name);</div>
}
import java.util.List;

public class TangoDAO
{
@foreach (var entity in Model.Entities)
{
<div>
    /**
    * Gets all the @(entity.TableName) from database.
    *
    * @@return all @(entity.TableName)
    */
    public static List<@(entity.Name)> getAll@(entity.TableName)()
    {
        return SQLite.select().from(@(entity.Name).class).queryList();
    }

</div>
}
}
using MahApps.Metro.Controls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;
using Tango.DragAndDrop;
using Tango.BL.Entities;
using Tango.MachineStudio.Developer.Converters;
using Tango.MachineStudio.Developer.ViewModels;
using Tango.BL;
using Tango.Settings;
using Tango.Core;
using Tango.SharedUI.Editors;
using static Tango.MachineStudio.Developer.DeveloperModuleSettings;
using static Tango.SharedUI.Controls.NavigationControl;

namespace Tango.MachineStudio.Developer.Views
{
    /// <summary>
    /// Interaction logic for JobView.xaml
    /// </summary>
    public partial class JobView : UserControl, INavigationView
    {
        private MainViewVM _vm;
        private DispatcherTimer _jobBrushTimer;

        public DraggingSurface DraggingSurface
        {
            get { return (DraggingSurface)GetValue(DraggingSurfaceProperty); }
            set { SetValue(DraggingSurfaceProperty, value); }
        }
        public static readonly DependencyProperty DraggingSurfaceProperty =
            DependencyProperty.Register("DraggingSurface", typeof(DraggingSurface), typeof(JobView), new PropertyMetadata(null));

        public JobView()
        {
            InitializeComponent();

            DraggingSurface = draggingSurface;

            this.Loaded += (x, y) =>
            {
                _vm = DataContext as MainViewVM;
            };

            _jobBrushTimer = new DispatcherTimer();
            _jobBrushTimer.Interval = TimeSpan.FromSeconds(1);
            _jobBrushTimer.Tick += _jobBrushTimer_Tick;
            _jobBrushTimer.Start();
        }

        private void _jobBrushTimer_Tick(object sender, EventArgs e)
        {
            if (_vm != null && _vm.ActiveJob != null)
            {
                List<Segment> segments = new List<Segment>();
                foreach (var s in _vm.ActiveJob.OrderedSegments)
                {
                    segments.Add(s);

                    if (_vm.ActiveJob.EnableInterSegment && _vm.ActiveJob.OrderedSegments.IndexOf(s) != _vm.ActiveJob.OrderedSegments.Count - 1)
                    {
                        segments.Add(new Segment()
                        {
                            Length = _vm.ActiveJob.InterSegmentLength,
                            BrushStops = new SynchronizedObservableCollection<BrushStop>()
                            {
                                new BrushStop()
                                {
                                     ColorSpace = new ColorSpace(),
                                     Color = Colors.White,
                                }
                            },
                        });
                    }
                }

                jobBrushList.ItemsSource = segments;
                UpdateGradientBrushDisplay();
            }
        }

        private void Offset_Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            UpdateGradientBrushDisplay();
        }

        private void UpdateGradientBrushDisplay()
        {
            if (_vm != null && _vm.SelectedSegment != null)
            {
                SegmentToGradientStopsConverter converter = new SegmentToGradientStopsConverter();
                GradientStopCollection stops = converter.Convert(_vm.SelectedSegment, null, null, null) as GradientStopCollection;
                gradientBrush.GradientStops = stops;
            }
            else
            {
                if (gradientBrush != null)
                {
                    gradientBrush.GradientStops = new GradientStopCollection();
                }
            }
        }

        private void OnBrushStopBorderDrop(object sender, DropEventArgs e)
        {
            if (e.Draggable.DataContext is BrushStop)
            {
                _vm.OnDropBrushStop(e.Draggable.DataContext as BrushStop, e.Droppable.DataContext as BrushStop);
            }
        }

        private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            UpdateGradientBrushDisplay();
        }

        private void OnJobStartClick(object sender, RoutedEventArgs e)
        {

        }

        private void HiveColorPickerControl_SelectedColorChanged(object sender, Color color)
        {
            UpdateGradientBrushDisplay();
        }

        private void Popup_MouseDown(object sender, MouseButtonEventArgs e)
        {
            e.Handled = true;
        }

        private void OnSegmentDrop(object sender, DropEventArgs e)
        {
            _vm.OnDropSegment(e.Draggable.DataContext as Segment, e.Droppable.DataContext as Segment);
        }


        private async void TextBox_GotFocus(object sender, RoutedEventArgs e)
        {
            await Task.Delay(200);
            TextBox txtBox = sender as TextBox;
            txtBox.SelectAll();
        }

        private void TextBox_PreviewMouseUp(object sender, MouseButtonEventArgs e)
        {
            e.Handled = true;
        }

        private void ParameterizedEditor_GeneratingItems(object sender, SharedUI.Editors.ParameterizedEditor.GeneratingItemsEventArgs e)
        {
            var settings = SettingsManager.Default.GetOrCreate<DeveloperModuleSettings>();

            List<ParameterItem> items = e.Result.ToList();

            if (settings.ProcessParametersIndices.Count > 0)
            {
                items.Clear();

                foreach (var item in settings.ProcessParametersIndices.OrderBy(x => x.Index))
                {
                    var p = e.Source.SingleOrDefault(x => x.Name == item.Name);

                    if (p != null)
                    {
                        items.Add(p);
                    }
                }
            }
            else
            {
                ProcessParametersTable p = new ProcessParametersTable();
                var pp = p.CreateParametersCollection(Core.ParameterItemMode.Binding);

                foreach (var item in pp)
                {
                    settings.ProcessParametersIndices.Add(new ParameterIndex()
                    {
                        Index = pp.IndexOf(item),
                        Name = item.Name
                    });
                }

                settings.Save();
            }

            e.Result = items;
        }

        private void OnProcessParameterDropped(object sender, DropEventArgs e)
        {
            ParameterItem draggedItem = e.Draggable.DataContext as ParameterItem;
            ParameterItem droppedItem = e.Droppable.DataContext as ParameterItem;

            if (draggedItem != null && droppedItem != null && draggedItem.ParameterizedObject == droppedItem.ParameterizedObject)
            {
                var settings = SettingsManager.Default.GetOrCreate<DeveloperModuleSettings>();

                var parameters = draggedItem.ParameterizedObject.Parameters;

                var draggedSettingItem = settings.ProcessParametersIndices.FirstOrDefault(x => x.Name == draggedItem.Name);
                var droppedSettingItem = settings.ProcessParametersIndices.FirstOrDefault(x => x.Name == droppedItem.Name);

                if (draggedSettingItem != null && droppedSettingItem != null)
                {
                    if (draggedSettingItem.Index > droppedSettingItem.Index)
                    {
                        draggedSettingItem.Index = droppedSettingItem.Index - 1;
                    }
                    else
                    {
                        draggedSettingItem.Index = droppedSettingItem.Index + 1;
                    }

                    int index = 1;

                    foreach (var settingItem in settings.ProcessParametersIndices.OrderBy(x => x.Index))
                    {
                        settingItem.Index = index++;
                    }
                }

                settings.Save();
            }

            var editor = e.Draggable.FindAncestor<ParameterizedEditor>();

            if (editor != null)
            {
                editor.ParameterizedObject = null;
                editor.ParameterizedObject = draggedItem.ParameterizedObject;
            }
        }

        private void PopupButton_Checked(object sender, RoutedEventArgs e)
        {
            _vm.OnHivePopupOpened();
        }

        private void BrushPicker_ColorChanged(object sender, BrushPicker.ColorChangedEventArgs e)
        {
           
        }

        private void ColorCanvas_SelectedColorChanged(object sender, RoutedPropertyChangedEventArgs<Color?> e)
        {
            if (e.NewValue.HasValue)
            {
                _vm.OnSelectedBrushColorChanged((Color)e.NewValue);
            }
        }

        private void PopupButton_Unchecked(object sender, RoutedEventArgs e)
        {
            _vm.OnHivePopupClosed();
        }

        public void OnNavigatedTo()
        {
            _vm.IsJobVisible = true;
        }

        public void OnNavigatedFrom()
        {
            _vm.IsJobVisible = false;
        }

        private void ListBoxItem_PreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            listBoxSegments.SelectedItem = (sender as ListBoxItem).DataContext;
        }

        private void listBoxSegments_PreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            
        }

        private void listBoxSegments_MouseEnter(object sender, MouseEventArgs e)
        {
            Keyboard.ClearFocus();
            listBoxSegments.Focus();
        }

        private void OnBrushStopFieldValueChanged(object sender, RoutedPropertyChangedEventArgs<double?> e)
        {
            BrushStop stop = null;
            var dataContext = (sender as FrameworkElement).DataContext;

            if (dataContext != null)
            {
                if (dataContext is BrushStop)
                {
                    stop = dataContext as BrushStop;
                }
                else
                {
                    stop = (dataContext as LiquidVolume).BrushStop;
                }

                _vm.OnBrushStopFieldValueChanged(stop);
            }
        }
    }
}