Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
/ *
Copyright ( c ) 2017 , John Lewin
All rights reserved .
Redistribution and use in source and binary forms , with or without
modification , are permitted provided that the following conditions are met :
1. Redistributions of source code must retain the above copyright notice , this
list of conditions and the following disclaimer .
2. Redistributions in binary form must reproduce the above copyright notice ,
this list of conditions and the following disclaimer in the documentation
and / or other materials provided with the distribution .
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT LIMITED TO , THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED . IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT , INDIRECT , INCIDENTAL , SPECIAL , EXEMPLARY , OR CONSEQUENTIAL DAMAGES
( INCLUDING , BUT NOT LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ;
LOSS OF USE , DATA , OR PROFITS ; OR BUSINESS INTERRUPTION ) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY , OR TORT
( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies ,
either expressed or implied , of the FreeBSD Project .
* /
using System ;
2017-06-21 07:43:40 -07:00
using System.IO ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
using System.Threading.Tasks ;
using MatterHackers.Agg ;
using MatterHackers.Agg.Image ;
2017-12-15 14:55:10 -08:00
using MatterHackers.Agg.Platform ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
using MatterHackers.Agg.UI ;
using MatterHackers.Agg.VertexSource ;
using MatterHackers.MatterControl.Library ;
using MatterHackers.MatterControl.PartPreviewWindow ;
using MatterHackers.VectorMath ;
namespace MatterHackers.MatterControl.CustomWidgets
{
public class ListViewItemBase : GuiWidget
{
2018-04-21 14:59:45 -07:00
private static ImageBuffer defaultFolderIcon = AggContext . StaticData . LoadIcon ( Path . Combine ( "FileDialog" , "folder.png" ) ) . SetPreMultiply ( ) ;
2017-12-15 14:55:10 -08:00
private static ImageBuffer defaultItemIcon = AggContext . StaticData . LoadIcon ( Path . Combine ( "FileDialog" , "file.png" ) ) ;
private static ImageBuffer generatingThumbnailIcon = AggContext . StaticData . LoadIcon ( Path . Combine ( "building_thumbnail_40x40.png" ) ) ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
protected ListViewItem listViewItem ;
protected View3DWidget view3DWidget ;
protected bool mouseInBounds = false ;
private bool mouseDownInBounds = false ;
private Vector2 mouseDownAt ;
protected ImageWidget imageWidget ;
protected int thumbWidth ;
protected int thumbHeight ;
public ListViewItemBase ( ListViewItem listViewItem , int width , int height )
{
this . listViewItem = listViewItem ;
this . thumbWidth = width ;
this . thumbHeight = height ;
}
2017-07-13 14:21:54 -07:00
private static bool WidgetOnScreen ( GuiWidget widget , RectangleDouble bounds )
{
if ( ! widget . Visible )
{
return false ;
}
else
{
if ( widget . Parent ! = null )
{
var boundsInParentSpace = widget . TransformToParentSpace ( widget . Parent , bounds ) ;
var intersects = boundsInParentSpace . IntersectRectangles ( boundsInParentSpace , widget . Parent . LocalBounds ) ;
if ( ! intersects
2018-04-12 08:42:10 -07:00
| | boundsInParentSpace . Width < = 0
2017-07-13 14:21:54 -07:00
| | boundsInParentSpace . Height < = 0
| | ! WidgetOnScreen ( widget . Parent , boundsInParentSpace ) )
{
return false ;
}
}
}
return true ;
}
2017-09-29 17:25:50 -07:00
public async Task LoadItemThumbnail ( )
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
{
var listView = listViewItem . ListView ;
2017-12-17 11:23:36 -08:00
var thumbnail = listView . LoadCachedImage ( listViewItem , thumbWidth , thumbHeight ) ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
if ( thumbnail ! = null )
{
SetItemThumbnail ( thumbnail ) ;
return ;
}
var itemModel = listViewItem . Model ;
if ( thumbnail = = null )
{
// Ask the container - allows the container to provide its own interpretation of the item thumbnail
thumbnail = await listView . ActiveContainer . GetThumbnail ( itemModel , thumbWidth , thumbHeight ) ;
}
if ( thumbnail = = null & & itemModel is IThumbnail )
{
// If the item provides its own thumbnail, try to collect it
thumbnail = await ( itemModel as IThumbnail ) . GetThumbnail ( thumbWidth , thumbHeight ) ;
}
if ( thumbnail = = null )
{
// Ask content provider - allows type specific thumbnail creation
var contentProvider = ApplicationController . Instance . Library . GetContentProvider ( itemModel ) ;
2017-09-28 17:36:42 -07:00
if ( contentProvider is MeshContentProvider )
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
{
// Before we have a thumbnail set to the content specific thumbnail
2017-07-28 17:35:50 -07:00
thumbnail = contentProvider . DefaultImage ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
ApplicationController . Instance . QueueForGeneration ( async ( ) = >
{
2017-07-13 14:21:54 -07:00
// When this widget is dequeued for generation, validate before processing. Off-screen widgets should be skipped and will requeue next time they become visible
if ( ListViewItemBase . WidgetOnScreen ( this , this . LocalBounds ) )
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
{
2017-07-28 17:35:50 -07:00
SetItemThumbnail ( generatingThumbnailIcon ) ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
// Then try to load a content specific thumbnail
await contentProvider . GetThumbnail (
itemModel ,
thumbWidth ,
thumbHeight ,
( image ) = >
{
// Use the content providers default image if an image failed to load
SetItemThumbnail ( image ? ? contentProvider . DefaultImage , true ) ;
} ) ;
}
} ) ;
}
else if ( contentProvider ! = null )
{
// Then try to load a content specific thumbnail
await contentProvider . GetThumbnail (
itemModel ,
thumbWidth ,
thumbHeight ,
( image ) = > thumbnail = image ) ;
}
}
if ( thumbnail = = null )
{
// Use the listview defaults
thumbnail = ( ( itemModel is ILibraryContainerLink ) ? defaultFolderIcon : defaultItemIcon ) . AlphaToPrimaryAccent ( ) ;
}
SetItemThumbnail ( thumbnail ) ;
}
2017-09-29 18:31:31 -07:00
internal void EnsureSelection ( )
2017-06-03 15:11:12 -07:00
{
2017-09-29 18:31:31 -07:00
if ( this . IsSelectableContent )
{
// Existing selection only survives with ctrl->click
if ( ! Keyboard . IsKeyDown ( Keys . ControlKey ) )
{
listViewItem . ListView . SelectedItems . Clear ( ) ;
}
// Any mouse down ensures selection - mouse up will evaluate if DragDrop occurred and toggle selection if not
if ( ! listViewItem . ListView . SelectedItems . Contains ( listViewItem ) )
{
listViewItem . ListView . SelectedItems . Add ( listViewItem ) ;
}
2017-06-03 15:11:12 -07:00
2017-09-29 18:31:31 -07:00
Invalidate ( ) ;
}
}
2017-06-21 07:43:40 -07:00
2017-09-29 18:31:31 -07:00
internal void OnItemSelect ( )
{
if ( this . IsSelectableContent
& & ! hitDragThreshold )
2017-06-03 15:11:12 -07:00
{
2017-09-29 18:31:31 -07:00
if ( wasSelected )
2017-06-03 15:11:12 -07:00
{
listViewItem . ListView . SelectedItems . Remove ( listViewItem ) ;
}
Invalidate ( ) ;
}
}
2017-09-29 18:31:31 -07:00
private bool IsSelectableContent
{
get
{
2018-02-12 13:05:42 -08:00
bool isContentItem = listViewItem . Model is ILibraryObject3D ;
2018-02-12 13:55:31 -08:00
bool isValidStream = ( listViewItem . Model is ILibraryAssetStream stream
2017-09-29 18:31:31 -07:00
& & ApplicationController . Instance . Library . IsContentFileType ( stream . FileName ) ) ;
bool isContainerLink = listViewItem . Model is ILibraryContainerLink ;
bool isGCode = listViewItem . Model is FileSystemFileItem item & & Path . GetExtension ( item . FileName . ToUpper ( ) ) = = ".GCODE"
| | listViewItem . Model is SDCardFileItem sdItem & & Path . GetExtension ( sdItem . Name . ToUpper ( ) ) = = ".GCODE" ;
return isContentItem | | isValidStream | | isContainerLink | | isGCode ;
}
}
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
protected void SetItemThumbnail ( ImageBuffer thumbnail , bool colorize = false )
{
if ( thumbnail ! = null )
{
// Resize canvas to target as fallback
if ( thumbnail . Width < thumbWidth | | thumbnail . Height < thumbHeight )
{
thumbnail = listViewItem . ListView . ResizeCanvas ( thumbnail , thumbWidth , thumbHeight ) ;
}
else if ( thumbnail . Width > thumbWidth | | thumbnail . Height > thumbHeight )
{
thumbnail = LibraryProviderHelpers . ResizeImage ( thumbnail , thumbWidth , thumbHeight ) ;
}
2018-04-24 07:59:46 -07:00
if ( GuiWidget . DeviceScale ! = 1 )
{
thumbnail = thumbnail . CreateScaledImage ( GuiWidget . DeviceScale ) ;
}
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
// TODO: Resolve and implement
// Allow the container to draw an overlay - use signal interface or add method to interface?
//var iconWithOverlay = ActiveContainer.DrawOverlay()
this . imageWidget . Image = thumbnail ;
2017-06-03 18:35:01 -07:00
this . Invalidate ( ) ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
}
}
public override void OnDraw ( Graphics2D graphics2D )
{
base . OnDraw ( graphics2D ) ;
var widgetBorder = new RoundedRect ( LocalBounds , 0 ) ;
// Draw the hover border if the mouse is in bounds or if its the ActivePrint item
if ( mouseInBounds | | ( this . IsActivePrint & & ! this . EditMode ) )
{
//Draw interior border
2018-01-24 09:30:05 -08:00
graphics2D . Render ( new Stroke ( widgetBorder , 3 ) , ActiveTheme . Instance . PrimaryAccentColor ) ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
}
if ( this . IsHoverItem )
{
RectangleDouble Bounds = LocalBounds ;
RoundedRect rectBorder = new RoundedRect ( Bounds , 0 ) ;
2017-10-31 11:43:25 -07:00
this . BackgroundColor = Color . White ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
2018-01-24 09:30:05 -08:00
graphics2D . Render ( new Stroke ( rectBorder , 3 ) , ActiveTheme . Instance . PrimaryAccentColor ) ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
}
}
2017-09-29 18:31:31 -07:00
private bool hitDragThreshold = false ;
private bool wasSelected = false ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
public override void OnMouseDown ( MouseEventArgs mouseEvent )
{
mouseDownInBounds = true ;
mouseDownAt = mouseEvent . Position ;
2017-09-29 18:31:31 -07:00
hitDragThreshold = false ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
2017-09-29 18:31:31 -07:00
wasSelected = this . IsSelected ;
this . EnsureSelection ( ) ;
2017-09-19 19:59:55 -07:00
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
if ( IsDoubleClick ( mouseEvent ) )
{
listViewItem . OnDoubleClick ( ) ;
}
// On mouse down update the view3DWidget reference that will be used in MouseMove and MouseUp
2017-09-19 19:59:55 -07:00
view3DWidget = ApplicationController . Instance . DragDropData . View3DWidget ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
base . OnMouseDown ( mouseEvent ) ;
}
public override void OnMouseMove ( MouseEventArgs mouseEvent )
{
var delta = mouseDownAt - mouseEvent . Position ;
2017-09-19 19:59:55 -07:00
// If mouseDown on us and we've moved past are drag determination threshold, notify view3DWidget
2018-02-15 14:27:01 -08:00
if ( mouseDownInBounds & & delta . Length > 40
& & ! ( listViewItem . Model is MissingFileItem ) )
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
{
2017-09-29 18:31:31 -07:00
hitDragThreshold = true ;
2017-09-19 19:59:55 -07:00
// Performs move and possible Scene add in View3DWidget
view3DWidget . ExternalDragOver ( screenSpaceMousePosition : this . TransformToScreenSpace ( mouseEvent . Position ) ) ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
}
base . OnMouseMove ( mouseEvent ) ;
}
public override void OnMouseUp ( MouseEventArgs mouseEvent )
{
2017-09-29 18:31:31 -07:00
this . OnItemSelect ( ) ;
2017-09-16 01:11:44 -07:00
var dropData = ApplicationController . Instance . DragDropData ;
2017-09-19 19:59:55 -07:00
if ( dropData . View3DWidget ? . DragOperationActive = = true )
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
{
// Mouse and widget positions
var screenSpaceMousePosition = this . TransformToScreenSpace ( mouseEvent . Position ) ;
var meshViewerPosition = this . view3DWidget . meshViewerWidget . TransformToScreenSpace ( view3DWidget . meshViewerWidget . LocalBounds ) ;
2017-09-19 19:59:55 -07:00
// Notify of drag operation complete
view3DWidget . FinishDrop ( mouseUpInBounds : meshViewerPosition . Contains ( screenSpaceMousePosition ) ) ;
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
}
mouseDownInBounds = false ;
base . OnMouseUp ( mouseEvent ) ;
}
public override void OnMouseEnterBounds ( MouseEventArgs mouseEvent )
{
base . OnMouseEnterBounds ( mouseEvent ) ;
mouseInBounds = true ;
UpdateHoverState ( ) ;
Invalidate ( ) ;
}
public override void OnMouseLeaveBounds ( MouseEventArgs mouseEvent )
{
mouseInBounds = false ;
base . OnMouseLeaveBounds ( mouseEvent ) ;
UpdateHoverState ( ) ;
Invalidate ( ) ;
}
protected virtual void UpdateColors ( )
{
}
2018-03-25 15:35:20 -07:00
protected virtual void UpdateHoverState ( )
Move to new library model and view
- Add new listview control for library content
- Migrate library providers to containers
- Cloud, Sqlite, Directories, Queue, History
- Migrate SideBar components to containers
- Primatives, Text, Braille, ImageConverter
- Create new library container types
- Zip files, Calibration parts, Printer SDCards
- Reduce leftnav to Library, Settings, Controls, Options
- Add DragDrop support for image content
2017-05-19 22:33:55 -07:00
{
}
public virtual bool IsHoverItem { get ; set ; }
public virtual bool EditMode { get ; set ; }
private bool isActivePrint = false ;
public bool IsActivePrint
{
get
{
return isActivePrint ;
}
set
{
if ( isActivePrint ! = value )
{
isActivePrint = value ;
UpdateColors ( ) ;
}
}
}
private bool isSelected = false ;
public bool IsSelected
{
get
{
return isSelected ;
}
set
{
if ( isSelected ! = value )
{
//selectionCheckBox.Checked = value;
isSelected = value ;
UpdateColors ( ) ;
}
}
}
}
}