mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-18 00:21:33 -07:00
* add custom bootstrappers * add avalonedit to licenses page * add gif support * add stretch & stretchdirection to images * dont create a bitmapimage for gifs * remove maxheight and maxwidth sets * remove comment * add isenabled * add more textblock properties * add markdowntextblocks * update how transform elements are stored * overhaul textbox content * dont set fontsize if not set * fix warnings * add foreground property to control * add background property to textblock * count descendants and increase element cap * add auto complete * dont display completion window if there is no data * sort schema elements and types * make ! close the completion window * add end tag auto complete * fix pos being wrong * dont treat comments as elements * add imagebrushes * follow same conventions as brushes * fix exception messages * fix them again * update schema * fix crash * now it works * wrong attribute name * add solidcolorbrush * move converters into a separate file * add lineargradientbrushes * unify handlers * update schema * add fake BloxstrapCustomBootstrapper * stop adding an extra end character * add property element auto-complete * add title attribute to custombloxstrapbootstrapper * add shapes * add string translation support * use default wpf size instead of 100x100 * update min height of window * fix verticalalignment not working * uncap height and width * add effects * move transformation handler inside frameworkelement * fix title bar effect & transformation removal * add more frameworkelement properties * add layout transform * add font properties to control * improve window border stuff * make sure file contents are in CRLF * add cornerradius to progress bar * add progressring * Update wpfui * update schema * update function names * add children check to content * make sure only one content is defined * add fontfamily * update schema * only allow file uris for images * disable backdrop * move text setter to textblock handler from base * split up creator into multiple files * turn version into a constant * add grids * cleanup converters * add IgnoreTitleBarInset * add Version to schema * reveal custom bootstrapper stuff on selection * increase listbox height * only set statustext binding in textblock * update ui * rename ZIndex to Panel.ZIndex * add stackpanel * add border * fix being unable to apply transforms on grids * rearrange and add new editor button * use snackbars for saving * add close confirmation message * use viewmodel variable * remove pointless onpropertychanged call * add version string format * start editor window in the centre * update licenses page also resized the about window so everything could fit nicely * fix border not inheriting frameworkelement * add WindowCornerPreference * add the import dialog * add an export theme button * update version number * localise CustomDialog exceptions * localise custom theme editor * localise custom theme add dialog * localise frontend * localise appearance menu page * change customtheme error strings namespace * change icons on appearance page * update button margin on appearance page
123 lines
3.6 KiB
C#
123 lines
3.6 KiB
C#
using Bloxstrap.UI.Elements.Bootstrapper.Base;
|
|
using Bloxstrap.UI.ViewModels.Bootstrapper;
|
|
using System.ComponentModel;
|
|
using System.Windows.Forms;
|
|
using System.Windows.Shell;
|
|
|
|
namespace Bloxstrap.UI.Elements.Bootstrapper
|
|
{
|
|
/// <summary>
|
|
/// Interaction logic for CustomDialog.xaml
|
|
/// </summary>
|
|
public partial class CustomDialog : IBootstrapperDialog
|
|
{
|
|
private readonly BootstrapperDialogViewModel _viewModel;
|
|
|
|
public Bloxstrap.Bootstrapper? Bootstrapper { get; set; }
|
|
|
|
private bool _isClosing;
|
|
|
|
#region UI Elements
|
|
public string Message
|
|
{
|
|
get => _viewModel.Message;
|
|
set
|
|
{
|
|
_viewModel.Message = value;
|
|
_viewModel.OnPropertyChanged(nameof(_viewModel.Message));
|
|
}
|
|
}
|
|
|
|
public ProgressBarStyle ProgressStyle
|
|
{
|
|
get => _viewModel.ProgressIndeterminate ? ProgressBarStyle.Marquee : ProgressBarStyle.Continuous;
|
|
set
|
|
{
|
|
_viewModel.ProgressIndeterminate = (value == ProgressBarStyle.Marquee);
|
|
_viewModel.OnPropertyChanged(nameof(_viewModel.ProgressIndeterminate));
|
|
}
|
|
}
|
|
|
|
public int ProgressMaximum
|
|
{
|
|
get => _viewModel.ProgressMaximum;
|
|
set
|
|
{
|
|
_viewModel.ProgressMaximum = value;
|
|
_viewModel.OnPropertyChanged(nameof(_viewModel.ProgressMaximum));
|
|
}
|
|
}
|
|
|
|
public int ProgressValue
|
|
{
|
|
get => _viewModel.ProgressValue;
|
|
set
|
|
{
|
|
_viewModel.ProgressValue = value;
|
|
_viewModel.OnPropertyChanged(nameof(_viewModel.ProgressValue));
|
|
}
|
|
}
|
|
|
|
public TaskbarItemProgressState TaskbarProgressState
|
|
{
|
|
get => _viewModel.TaskbarProgressState;
|
|
set
|
|
{
|
|
_viewModel.TaskbarProgressState = value;
|
|
_viewModel.OnPropertyChanged(nameof(_viewModel.TaskbarProgressState));
|
|
}
|
|
}
|
|
|
|
public double TaskbarProgressValue
|
|
{
|
|
get => _viewModel.TaskbarProgressValue;
|
|
set
|
|
{
|
|
_viewModel.TaskbarProgressValue = value;
|
|
_viewModel.OnPropertyChanged(nameof(_viewModel.TaskbarProgressValue));
|
|
}
|
|
}
|
|
|
|
public bool CancelEnabled
|
|
{
|
|
get => _viewModel.CancelEnabled;
|
|
set
|
|
{
|
|
_viewModel.CancelEnabled = value;
|
|
|
|
_viewModel.OnPropertyChanged(nameof(_viewModel.CancelButtonVisibility));
|
|
_viewModel.OnPropertyChanged(nameof(_viewModel.CancelEnabled));
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
public CustomDialog()
|
|
{
|
|
InitializeComponent();
|
|
|
|
_viewModel = new BootstrapperDialogViewModel(this);
|
|
DataContext = _viewModel;
|
|
Title = App.Settings.Prop.BootstrapperTitle;
|
|
Icon = App.Settings.Prop.BootstrapperIcon.GetIcon().GetImageSource();
|
|
}
|
|
|
|
private void UiWindow_Closing(object sender, CancelEventArgs e)
|
|
{
|
|
if (!_isClosing)
|
|
Bootstrapper?.Cancel();
|
|
}
|
|
|
|
#region IBootstrapperDialog Methods
|
|
public void ShowBootstrapper() => this.ShowDialog();
|
|
|
|
public void CloseBootstrapper()
|
|
{
|
|
_isClosing = true;
|
|
Dispatcher.BeginInvoke(this.Close);
|
|
}
|
|
|
|
public void ShowSuccess(string message, Action? callback) => BaseFunctions.ShowSuccess(message, callback);
|
|
#endregion
|
|
}
|
|
}
|