private void Sunburst_TranslateCustomViews(object sender, EventArgs e) { if (_view != null) { C1Sunburst sun = (C1Sunburst)sender; if (_scale != sun.Scale) { if (_item is Periodic.Group) { ((Periodic.Group)_item).SetFontSize(fontSizeRate * (float)sunburst.Scale); } if (_item is Periodic.SubGroup) { ((Periodic.SubGroup)_item).SetFontSize(fontSizeRate * (float)sunburst.Scale); } if (_item is Periodic.Element) { ((Periodic.Element)_item).SetFontSize(fontSizeRate * (float)sunburst.Scale); } _scale = sun.Scale; } _view.Layout(new Rectangle(_x - _width * sun.Scale / 2, _y - _height * sun.Scale / 2, _width * sun.Scale, _height * sun.Scale)); _view.TranslationX = sun.TranslationX; _view.TranslationY = sun.TranslationY; } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); C1Sunburst sunburst = new C1Sunburst(this); sunburst.ItemsSource = new SunburstViewModel().FlatData; sunburst.Binding = "Value"; sunburst.BindingName = "Year,Quarter,Month"; sunburst.ToolTipContent = "{}{name}\n{y}"; sunburst.DataLabel.Position = PieLabelPosition.Center; sunburst.DataLabel.Content = "{}{name}"; LinearLayout layout = new LinearLayout(this); LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent); layout.AddView(sunburst, param); SetContentView(layout); var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); SupportActionBar.Title = GetString(Resource.String.sunburstGettingStarted); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); }
public override void ViewDidLoad() { base.ViewDidLoad(); // Perform any additional setup after loading the view, typically from a nib. sunburst = new C1Sunburst(); sunburst.Binding = "Value"; sunburst.BindingName = "Year,Quarter,Month"; sunburst.ToolTipContent = "{}{name}\n{y}"; sunburst.DataLabel.Position = PieLabelPosition.Center; sunburst.DataLabel.Content = "{}{name}"; this.Add(sunburst); cv = new SunburstViewModel().View; cv.GroupChanged += View_GroupChanged; cv.SortChanged += Cv_SortChanged; //Sort cannot work synchronize with group in current CollectionView SortDescription yearSortDescription = new SortDescription("Year", SortDirection.Ascending); SortDescription quarterSortDescription = new SortDescription("Quarter", SortDirection.Ascending); SortDescription monthSortDescription = new SortDescription("MonthValue", SortDirection.Ascending); SortDescription[] sortDescriptions = new SortDescription[] { yearSortDescription, quarterSortDescription, monthSortDescription }; cv.SortAsync(sortDescriptions); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_periodictable); var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); SupportActionBar.Title = GetString(Resource.String.periodictable); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); // initializing widgets sunburst = (C1Sunburst)FindViewById(Resource.Id.sunburst); sunburst.ShowTooltip = false; sunburst.LegendPosition = ChartPositionType.None; sunburst.InnerRadius = 0.3; sunburst.SelectionMode = ChartSelectionModeType.Point; sunburst.Binding = "Value"; sunburst.BindingName = "GroupName,SubGroupName,Symbol"; sunburst.ChildItemsPath = "SubGroups,Elements"; sunburst.ItemsSource = Data.Groups; sunburst.DataLabel.Position = PieLabelPosition.Center; sunburst.DataLabel.Content = "{}{name}"; sunburst.DataLabel.Style.FontSize = 6; sunburst.Tapped += Sunburst_Tapped; TranslateBehavior t = new TranslateBehavior(); sunburst.Behaviors.Add(t); ZoomBehavior z = new ZoomBehavior(); sunburst.Behaviors.Add(z); Resources resources = BaseContext.Resources; DisplayMetrics metrics = resources.DisplayMetrics; sunburst.TranslateCustomViews += (object sender, EventArgs e) => { if (_view != null) { _view.Visibility = ViewStates.Invisible; _view.SetX((int)(_x + sunburst.TranslationX)); _view.SetY((int)(_y + sunburst.TranslationY)); if (sunburst.Scale != 1) { if (_view.Parent != null) { _view.ScaleX = (float)sunburst.Scale; _view.ScaleY = (float)sunburst.Scale; } } _view.Visibility = ViewStates.Visible; } }; }
public override void ViewDidLoad() { base.ViewDidLoad(); // Perform any additional setup after loading the view, typically from a nib. sunburst = new C1Sunburst(); sunburst.Binding = "Value"; sunburst.BindingName = "Year,Quarter,Month"; sunburst.ToolTipContent = "{}{name}\n{y}"; sunburst.DataLabel.Position = PieLabelPosition.Center; sunburst.DataLabel.Content = "{}{name}"; sunburst.ItemsSource = new SunburstViewModel().FlatData; this.Add(sunburst); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_selection); var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); SupportActionBar.Title = GetString(Resource.String.selection); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); // initializing widgets sunburst = (C1Sunburst)FindViewById(Resource.Id.sunburst); mOffset = (TextView)FindViewById(Resource.Id.offset); mButtonMinus = (Button)FindViewById(Resource.Id.buttonMinus); mButtonPlus = (Button)FindViewById(Resource.Id.buttonPlus); mSelectionSpinner = (Spinner)FindViewById(Resource.Id.selectionSpinner); // creating a list of objects sunburst.Binding = "Value"; sunburst.BindingName = "Year,Quarter,Month"; sunburst.DataLabel.Position = PieLabelPosition.Center; sunburst.DataLabel.Content = "{}{name}"; sunburst.ItemsSource = new SunburstViewModel().FlatData; sunburst.SelectionMode = ChartSelectionModeType.Point; sunburst.ShowTooltip = false; mOffset.Text = mOffsetValue.ToString(); sunburst.SelectedItemOffset = mOffsetValue; sunburst.SelectionMode = ChartSelectionModeType.Point; // initializing adapter to string array ArrayAdapter adapter = ArrayAdapter.CreateFromResource(this, Resource.Array.selection_spinner_values, Android.Resource.Layout.SimpleSpinnerItem); // Specify the layout to use when the list of choices appears adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem); // Apply the adapter to the spinner mSelectionSpinner.Adapter = adapter; mSelectionSpinner.ItemSelected += mSelectionSpinner_ItemSelected; mSelectionSpinner.SetSelection(1); Button button = (Button)FindViewById(Resource.Id.buttonMinus); button.Click += button_Click; button = (Button)FindViewById(Resource.Id.buttonPlus); button.Click += button_Click; }
private void Sunburst_Tapped(object sender, C1.Xamarin.Forms.Core.C1TappedEventArgs e) { Point p = e.GetPosition(sunburst); ChartHitTestInfo hitTestInfo = this.sunburst.HitTest(p); if (hitTestInfo == null || hitTestInfo.Item == null) { return; } _item = ((IChartModel)hitTestInfo.Item); if (_view != null && _view.Parent != null) { sunburst.Children.Remove(_view); } if (hitTestInfo.Item is IChartModel) { _view = ((IChartModel)hitTestInfo.Item).GetUserView(fontSizeRate); _view.BackgroundColor = Color.Transparent; this.sunburst.Children.Add(_view); this.sunburst.RaiseChild(_view); _view.Layout(new Rectangle(_x - _width * sunburst.Scale / 2, _y - _height * sunburst.Scale / 2, _width * sunburst.Scale, _height * sunburst.Scale)); if (_item is Periodic.Group && Periodic.Group.layout != null) { ((Periodic.Group)_item).SetFontSize(fontSizeRate * (float)sunburst.Scale); } if (_item is Periodic.SubGroup && Periodic.SubGroup.layout != null) { ((Periodic.SubGroup)_item).SetFontSize(fontSizeRate * (float)sunburst.Scale); } if (_item is Periodic.Element && Periodic.Element.layout != null) { ((Periodic.Element)_item).SetFontSize(fontSizeRate * (float)sunburst.Scale); } if (_view != null) { C1Sunburst sun = (C1Sunburst)sender; _view.TranslationX = sun.TranslationX; _view.TranslationY = sun.TranslationY; } } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_basic_features); var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); SupportActionBar.Title = GetString(Resource.String.basic_features); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); // initializing widgets sunburst = (C1Sunburst)FindViewById(Resource.Id.sunburst); mRadius = (TextView)FindViewById(Resource.Id.radius); mReversedSwitch = (Switch)FindViewById(Resource.Id.reversedSwitch); mOffsetSeekbar = (SeekBar)FindViewById(Resource.Id.offsetSeekBar); mStartAngleSeekbar = (SeekBar)FindViewById(Resource.Id.startAngleSeekBar); mButtonMinus = (Button)FindViewById(Resource.Id.buttonMinus); mButtonPlus = (Button)FindViewById(Resource.Id.buttonPlus); sunburst.Binding = "Value"; sunburst.BindingName = "Year,Quarter,Month"; sunburst.ChildItemsPath = "Items"; sunburst.ToolTipContent = "{}{name}\n{y}"; sunburst.DataLabel.Position = PieLabelPosition.Center; sunburst.DataLabel.Content = "{}{name}"; sunburst.ItemsSource = new SunburstViewModel().HierarchicalData; // setting default values mRadius.Text = mInnerRadius.ToString(); sunburst.InnerRadius = mInnerRadius; mReversedSwitch.CheckedChange += mReversedSwitch_CheckedChange; mOffsetSeekbar.ProgressChanged += mOffsetSeekbar_ProgressChanged; mStartAngleSeekbar.ProgressChanged += mStartAngleSeekbar_ProgressChanged; Button button = (Button)FindViewById(Resource.Id.buttonMinus); button.Click += button_Click; button = (Button)FindViewById(Resource.Id.buttonPlus); button.Click += button_Click; }
public override void ViewDidLoad() { base.ViewDidLoad(); // Perform any additional setup after loading the view, typically from a nib. sunburst = new C1Sunburst(); sunburst.ShowTooltip = false; sunburst.LegendPosition = ChartPositionType.None; sunburst.InnerRadius = 0.4; sunburst.SelectionMode = ChartSelectionModeType.Point; sunburst.Binding = "Value"; sunburst.BindingName = "GroupName,SubGroupName,Symbol"; sunburst.ChildItemsPath = "SubGroups,Elements"; sunburst.ItemsSource = Data.Groups; sunburst.DataLabel.Position = PieLabelPosition.Center; sunburst.DataLabel.Content = "{}{name}"; sunburst.DataLabel.Style.FontSize = 6; sunburst.Tapped += Sunburst_Tapped; this.View.Add(sunburst); this.View.Add(popup); this.View.BringSubviewToFront(popup); ZoomBehavior z = new ZoomBehavior(); sunburst.Behaviors.Add(z); TranslateBehavior t = new TranslateBehavior(); sunburst.Behaviors.Add(t); sunburst.TranslateCustomViews += (object sender, EventArgs e) => { if (popup != null) { CGAffineTransform scale = CGAffineTransform.MakeScale((nfloat)sunburst.Scale, (nfloat)sunburst.Scale); CGAffineTransform transform = CGAffineTransform.MakeTranslation((nfloat)sunburst.TranslationX, (nfloat)sunburst.TranslationY); popup.Transform = CGAffineTransform.Multiply(scale, transform); } }; sunburst.ClipsToBounds = true; }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_getting_started); var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); SupportActionBar.Title = GetString(Resource.String.group_collection); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); sunburst = (C1Sunburst)FindViewById(Resource.Id.sunburst); sunburst.Binding = "Value"; sunburst.BindingName = "Year,Quarter,Month"; sunburst.ToolTipContent = "{}{name}\n{y}"; sunburst.DataLabel.Position = PieLabelPosition.Center; sunburst.DataLabel.Content = "{}{name}"; //LinearLayout layout = new LinearLayout(this); //LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent); //layout.AddView(sunburst, param); cv = new SunburstViewModel().View; cv.GroupChanged += View_GroupChanged; cv.SortChanged += Cv_SortChanged; //Sort cannot work synchronize with group in current CollectionView SortDescription yearSortDescription = new SortDescription("Year", SortDirection.Ascending); SortDescription quarterSortDescription = new SortDescription("Quarter", SortDirection.Ascending); SortDescription monthSortDescription = new SortDescription("MonthValue", SortDirection.Ascending); SortDescription[] sortDescriptions = new SortDescription[] { yearSortDescription, quarterSortDescription, monthSortDescription }; cv.SortAsync(sortDescriptions); //SetContentView(layout); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_legend_and_titles); var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); SetSupportActionBar(toolbar); SupportActionBar.Title = GetString(Resource.String.legend_and_titles); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); // initializing widgets sunburst = (C1Sunburst)FindViewById(Resource.Id.sunburst); mHeaderValue = (EditText)FindViewById(Resource.Id.headerValue); mFooterValue = (EditText)FindViewById(Resource.Id.footerValue); mLegendSpinner = (Spinner)FindViewById(Resource.Id.legendSpinner); // creating a list of objects sunburst.ItemsSource = new SunburstViewModel().HierarchicalData; sunburst.LegendPosition = ChartPositionType.None; sunburst.ToolTipContent = "{}{name}\n{y}"; sunburst.Header = mHeaderValue.Text; sunburst.Footer = mFooterValue.Text; // initializing adapter to string array ArrayAdapter adapter = ArrayAdapter.CreateFromResource(this, Resource.Array.legend_spinner_values, Android.Resource.Layout.SimpleSpinnerItem); // Specify the layout to use when the list of choices appears adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem); // Apply the adapter to the spinner mLegendSpinner.Adapter = adapter; mLegendSpinner.ItemSelected += mLegendSpinner_ItemSelected; mHeaderValue.TextChanged += mHeaderValue_TextChanged; mFooterValue.TextChanged += mFooterValue_TextChanged; }