From: <bor...@us...> - 2020-07-17 15:55:20
|
Revision: 3746 http://sourceforge.net/p/ftm/code/3746 Author: borghesi Date: 2020-07-17 15:55:18 +0000 (Fri, 17 Jul 2020) Log Message: ----------- ftm.editor update Modified Paths: -------------- trunk/ftm/externals/max5/ftm.editor.cpp Modified: trunk/ftm/externals/max5/ftm.editor.cpp =================================================================== --- trunk/ftm/externals/max5/ftm.editor.cpp 2020-07-17 15:54:50 UTC (rev 3745) +++ trunk/ftm/externals/max5/ftm.editor.cpp 2020-07-17 15:55:18 UTC (rev 3746) @@ -124,6 +124,8 @@ double domain[2]; + t_symbol *tool; + long align_view_bounds; t_jrgba cursor_color; @@ -1220,15 +1222,10 @@ } else if(pname == fts_s_colormode) { - int i; - IMTREDITOR_JUCE_NAMESPACE::StringArray modes = editorContainer->getEditor(idx)->getColorMode(); - *ac = modes.size() + 2; + *ac = 3; + fts_set_int(at, idx); fts_set_symbol(at+1, pname); - for(i = 0; i < modes.size(); i++) - { - const char *mode = modes[i].toUTF8(); - fts_set_symbol(at+2+i, fts_new_symbol(mode)); - } + fts_set_symbol(at+2, getSymbolFromString(editorContainer->getEditor(idx)->getColorMode())); } else if(pname == fts_s_colorpattern) { @@ -1550,6 +1547,30 @@ external->domain[1] = max; } + static t_symbol * + getSymToolName(ImtrTypes::tool_name tool_name) + { + if(tool_name == ImtrTypes::edit_tool) + return fts_s_edit; + else if(tool_name == ImtrTypes::draw_tool) + return fts_s_draw; + else if(tool_name == ImtrTypes::scrollzoom_tool) + return fts_s_scrollzoom; + else if(tool_name == ImtrTypes::region_tool) + return fts_s_region; + else if(tool_name == ImtrTypes::cursor_tool) + return fts_s_cursor; + else if(tool_name == ImtrTypes::lock_tool) + return fts_s_lock; + else + return fts_s_edit; + } + + void toolChanged(ImtrTypes::tool_name tool_name) + { + external->tool = getSymToolName(tool_name); + } + void resized() { IMTREDITOR_JUCE_NAMESPACE::Rectangle <int>rect = getBounds(); @@ -2080,13 +2101,8 @@ } else if(prop == fts_s_colormode) { - IMTREDITOR_JUCE_NAMESPACE::StringArray modes; if(ac > 0 && fts_is_symbol(at)) - { - for(int i = 0; i< ac; i++) - modes.add(IMTREDITOR_JUCE_NAMESPACE::String(fts_symbol_name(fts_get_symbol(at+i)))); - editorContainer->setViewColorMode(index, modes); - } + editorContainer->setViewColorMode(index, IMTREDITOR_JUCE_NAMESPACE::String(fts_symbol_name(fts_get_symbol(at)))); } else if(prop == fts_s_colorpattern) { @@ -6254,7 +6270,7 @@ if ((*ac) == 0 || (*av) == NULL) { //otherwise allocate memory - if(propname != fts_s_visibleindexes && propname != fts_s_paramcols && propname != fts_s_colorpattern && propname != fts_s_depth && propname != fts_s_colormode) + if(propname != fts_s_visibleindexes && propname != fts_s_paramcols && propname != fts_s_colorpattern && propname != fts_s_depth) { if(propname == fts_s_fgcolor || propname == fts_s_bgcolor || propname == fts_s_stavecolor || propname == fts_s_header_fgcolor || propname == fts_s_header_bgcolor || propname == fts_s_header_bordercolor || propname == fts_s_grid_color || propname == fts_s_highlight_color) *ac = 4; @@ -6334,32 +6350,11 @@ { if(have_editor) { - int i; - IMTREDITOR_JUCE_NAMESPACE::StringArray colormodes = container->editorContainer->getEditor((int)self->view_inspector_track)->getColorMode(); - - if ((*ac) == 0 || (*av) == NULL) - { - *ac = colormodes.size(); - if (!(*av = (t_atom *)getbytes(sizeof(t_atom) * (*ac)))) - { - *ac = 0; - return MAX_ERR_OUT_OF_MEM; - } - } - - for(i = 0; i < colormodes.size(); i++) - fts_set_symbol((*av) + i, container->getSymbolFromString(colormodes[i])); + IMTREDITOR_JUCE_NAMESPACE::String colormode = container->editorContainer->getEditor((int)self->view_inspector_track)->getColorMode(); + fts_set_symbol((*av), container->getSymbolFromString(colormode)); } else - { - *ac = 1; - if(!(*av = (t_atom *)getbytes(sizeof(t_atom) * (*ac)))) - { - *ac = 0; - return MAX_ERR_OUT_OF_MEM; - } fts_set_symbol((*av), fts_s_empty_string); - } } else if(propname == fts_s_colorpattern) { @@ -7314,7 +7309,7 @@ self->domainruler_visible = 0; self->domainruler_grid = 0; self->domainruler_position = 0; - self->domainruler_size = ImtrTypes::RULER_DEFAULT_SIZE; + self->domainruler_size = ImtrTypes::DOMAINRULER_DEFAULT_SIZE; self->domainruler_unit = ImtrTypes::milliseconds_unit; self->domainruler_bgcolor.red = 1.0f; self->domainruler_bgcolor.green = 1.0f; self->domainruler_bgcolor.blue = 1.0f; self->domainruler_bgcolor.alpha = 1.0; @@ -7351,6 +7346,8 @@ self->n_args = 0; + self->tool = fts_s_edit; + self->clock = clock_new(self, (method)ftmeditor_polling); self->clock_delay = DEF_CLOCK_DELAY; self->reboundsClock = clock_new(self, (method)reboundsClockCallback); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |