Daniel's XL Toolbox NG
XLToolbox.Export.ViewModels.ColorProfileViewModel Class Reference

View model for an ICS color profile. More...

Inheritance diagram for XLToolbox.Export.ViewModels.ColorProfileViewModel:
Collaboration diagram for XLToolbox.Export.ViewModels.ColorProfileViewModel:

Public Member Functions

void TransformFromStandardProfile (FreeImageAPI.FreeImageBitmap freeImageBitmap)
 Transforms the pixels of a FreeImageBitmap using a standard color profile for the bitmap's color space and the current color profile. More...
 
override string ToString ()
 
override object RevealModelObject ()
 Returns the model object that this view model wraps or null if there is no wrapped model object. More...
 
- Public Member Functions inherited from Bovender.Mvvm.ViewModels.ViewModelBase
bool IsViewModelOf (object model)
 Determines whether the current object is a view model of a particular model object. Returns false if either the model or the viewmodel's wrapped model object is null. More...
 
Window InjectInto< T > ()
 Injects the ViewModel into a newly created View and wires the RequestCloseView event. More...
 
Window InjectInto (Window view)
 Injects the view model into an existing view by setting the view's DataContext. More...
 
void InjectAndShowInThread< T > (IntPtr ownerForm)
 Creates a new thread that creates a new instance of the view T , sets its Forms owner and shows it modelessly. Use this to show views during asynchronous operations. More...
 
void InjectAndShowInThread< T > ()
 Creates a new thread that creates a new instance of the view T and shows it modelessly. Use this to show views during asynchronous operations. More...
 
void InjectAndShowDialogInThread< T > (IntPtr ownerForm)
 Creates a new thread that creates a new instance of the view T and shows it as a dialog. Use this to show dialogs during asynchronous operations. More...
 
bool IsViewModelOf (object model)
 Determines whether the current object is a view model of a particular model object. Returns false if either the model or the viewmodel's wrapped model object is null. More...
 
Window InjectInto< T > ()
 Injects the ViewModel into a newly created View and wires the RequestCloseView event. More...
 
Window InjectInto (Window view)
 Injects the view model into an existing view by setting the view's DataContext. More...
 
void InjectAndShowInThread< T > (IntPtr ownerForm)
 Creates a new thread that creates a new instance of the view T , sets its Forms owner and shows it modelessly. Use this to show views during asynchronous operations. More...
 
void InjectAndShowInThread< T > ()
 Creates a new thread that creates a new instance of the view T and shows it modelessly. Use this to show views during asynchronous operations. More...
 
void InjectAndShowDialogInThread< T > (IntPtr ownerForm)
 Creates a new thread that creates a new instance of the view T and shows it as a dialog. Use this to show dialogs during asynchronous operations. More...
 

Static Public Member Functions

static ColorProfileViewModel CreateFromFile (string fileName)
 Creates a new ColorProfileViewModel from a given file, but only if the color profile's color space is known by the view model. Note that the lcms2.dll must have been loaded prior to calling this method! More...
 
static ColorProfileViewModel CreateFromName (string name)
 Creates a new ColorProfileViewModel from a given name, but only if the color profile's color space is known by the view model. Directory and file extension will be appended automatically. Note that the lcms2.dll must have been loaded prior to calling this method! More...
 

Protected Member Functions

 ColorProfileViewModel (string name)
 Instantiates the view model given a color profile's file name. More...
 
- Protected Member Functions inherited from Bovender.Mvvm.ViewModels.ViewModelBase
virtual void OnPropertyChanged (string propertyName)
 
virtual bool CanCloseView ()
 
virtual void DoCloseView ()
 
 ViewModelBase ()
 Does not allow public instantiation of this class. More...
 
virtual void OnPropertyChanged (string propertyName)
 
virtual bool CanCloseView ()
 
virtual void DoCloseView ()
 
 ViewModelBase ()
 Does not allow public instantiation of this class. More...
 

Properties

ColorSpace ColorSpace [get]
 
string Name [get]
 
override string DisplayString [get]
 
- Properties inherited from Bovender.Mvvm.ViewModels.ViewModelBase
ICommand CloseViewCommand [get]
 
virtual string DisplayString [get, set]
 
bool IsSelected [get, set]
 
Dispatcher ViewDispatcher [get, set]
 
Dispatcher Dispatcher [get]
 Captures the dispatcher of the thread that the object was created in. More...
 

Additional Inherited Members

- Events inherited from Bovender.Mvvm.ViewModels.ViewModelBase
EventHandler RequestCloseView
 Raised by the CloseView Command, signals that associated views are to be closed. More...
 
PropertyChangedEventHandler PropertyChanged
 

Detailed Description

View model for an ICS color profile.

Constructor & Destructor Documentation

◆ ColorProfileViewModel()

XLToolbox.Export.ViewModels.ColorProfileViewModel.ColorProfileViewModel ( string  name)
inlineprotected

Instantiates the view model given a color profile's file name.

Parameters
nameComplete file name to the color profile.
Exceptions
ArgumentExceptionif the color profile does not exist or is not accessible.

The constructor is protected in order to enforce the factory method, which takes care of restricting instantiation to profiles with color spaces that we can actually handle.

Member Function Documentation

◆ CreateFromFile()

static ColorProfileViewModel XLToolbox.Export.ViewModels.ColorProfileViewModel.CreateFromFile ( string  fileName)
inlinestatic

Creates a new ColorProfileViewModel from a given file, but only if the color profile's color space is known by the view model. Note that the lcms2.dll must have been loaded prior to calling this method!

Parameters
fileNameFull file name of the ICS color profile.
Returns
Instance of ColorProfileViewModel, or null if the color profile has an unknown color space.

◆ CreateFromName()

static ColorProfileViewModel XLToolbox.Export.ViewModels.ColorProfileViewModel.CreateFromName ( string  name)
inlinestatic

Creates a new ColorProfileViewModel from a given name, but only if the color profile's color space is known by the view model. Directory and file extension will be appended automatically. Note that the lcms2.dll must have been loaded prior to calling this method!

Parameters
fileNameFull file name of the ICS color profile.
Returns
Instance of ColorProfileViewModel, or null if the color profile has an unknown color space.

◆ RevealModelObject()

override object XLToolbox.Export.ViewModels.ColorProfileViewModel.RevealModelObject ( )
inlinevirtual

Returns the model object that this view model wraps or null if there is no wrapped model object.

This is a method rather than a property to make data binding more difficult (if not impossible), because binding directly to the model object is discouraged. However, certain users such as a ViewModelCollection might need access to the wrapped model object.

Returns
Model object.

Implements Bovender.Mvvm.ViewModels.ViewModelBase.

◆ ToString()

override string XLToolbox.Export.ViewModels.ColorProfileViewModel.ToString ( )
inline

◆ TransformFromStandardProfile()

void XLToolbox.Export.ViewModels.ColorProfileViewModel.TransformFromStandardProfile ( FreeImageAPI.FreeImageBitmap  freeImageBitmap)
inline

Transforms the pixels of a FreeImageBitmap using a standard color profile for the bitmap's color space and the current color profile.

Parameters
freeImageBitmapFreeImageBitmap whose pixels to convert.

Since Excel does not support color management at all, conversions are done using standard color profiles that LittleCMS provides.

Property Documentation

◆ ColorSpace

ColorSpace XLToolbox.Export.ViewModels.ColorProfileViewModel.ColorSpace
get

◆ DisplayString

override string XLToolbox.Export.ViewModels.ColorProfileViewModel.DisplayString
get

◆ Name

string XLToolbox.Export.ViewModels.ColorProfileViewModel.Name
get

The documentation for this class was generated from the following file: