Experiments with updating layer_config_ranges from UI

+ Fixed OSX build
This commit is contained in:
YuSanka 2019-06-05 11:50:59 +02:00
parent 4b3df010ab
commit 1090105b68
8 changed files with 38 additions and 19 deletions

View file

@ -12,6 +12,10 @@ class ModelObject;
namespace GUI {
class ConfigOptionsGroup;
typedef double coordf_t;
typedef std::pair<coordf_t, coordf_t> t_layer_height_range;
typedef std::map<t_layer_height_range, DynamicPrintConfig> t_layer_config_ranges;
class LayerRangeEditor : public wxTextCtrl
{
bool m_enter_pressed { false };
@ -34,8 +38,8 @@ class ObjectLayers : public OG_Settings
ScalableBitmap m_bmp_add;
ModelObject* m_object {nullptr};
wxFlexGridSizer* m_grid_sizer;
std::pair<coordf_t, coordf_t> m_last_edited_range;
wxFlexGridSizer* m_grid_sizer;
t_layer_height_range m_last_edited_range;
enum SelectedItemType
{
@ -49,7 +53,7 @@ public:
ObjectLayers(wxWindow* parent);
~ObjectLayers() {}
wxSizer* create_layer_without_buttons(const std::map<std::pair<coordf_t, coordf_t>, DynamicPrintConfig>::value_type& layer);
wxSizer* create_layer_without_buttons(const t_layer_config_ranges::value_type& layer);
void create_layer(int id);
void create_layers_list();
void update_layers_list();

View file

@ -33,6 +33,9 @@ typedef std::map< std::string, std::vector< std::pair<std::string, std::string>
typedef std::vector<ModelVolume*> ModelVolumePtrs;
typedef double coordf_t;
typedef std::pair<coordf_t, coordf_t> t_layer_height_range;
namespace GUI {
wxDECLARE_EVENT(EVT_OBJ_LIST_OBJECT_SELECT, SimpleEvent);
@ -271,14 +274,14 @@ public:
// Remove objects/sub-object from the list
void remove();
void del_layer_range(const std::pair<coordf_t, coordf_t>& range);
void add_layer_range(const std::pair<coordf_t, coordf_t>& range);
void add_layer_item (const std::pair<coordf_t, coordf_t>& range,
void del_layer_range(const t_layer_height_range& range);
void add_layer_range(const t_layer_height_range& range);
void add_layer_item (const t_layer_height_range& range,
const wxDataViewItem layers_item,
const int layer_idx = -1);
void edit_layer_range(const std::pair<coordf_t, coordf_t>& range, coordf_t layer_height);
void edit_layer_range(const std::pair<coordf_t, coordf_t>& range,
const std::pair<coordf_t, coordf_t>& new_range);
void edit_layer_range(const t_layer_height_range& range, coordf_t layer_height);
void edit_layer_range(const t_layer_height_range& range,
const t_layer_height_range& new_range);
void init_objects();
bool multiple_selection() const ;

View file

@ -1126,7 +1126,8 @@ void Selection::copy_to_clipboard()
dst_object->config = src_object->config;
dst_object->sla_support_points = src_object->sla_support_points;
dst_object->sla_points_status = src_object->sla_points_status;
dst_object->layer_height_ranges = src_object->layer_height_ranges;
// dst_object->layer_height_ranges = src_object->layer_height_ranges;
dst_object->layer_config_ranges = src_object->layer_config_ranges; // #ys_FIXME_experiment
dst_object->layer_height_profile = src_object->layer_height_profile;
dst_object->origin_translation = src_object->origin_translation;