Method: TECSCDE::TECSModel::TmPortArray#insert

Defined in:
lib/tecscde/tecs_model/tm_port_array.rb

#insert(port, before_after) ⇒ Object

TmPortArray#insert

this method is called from Control



195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
# File 'lib/tecscde/tecs_model/tm_port_array.rb', line 195

def insert(port, before_after)
  if @port_def.get_array_size != "[]"
    TECSCDE.message_box("      Array size is fixed (\#{@port_def.get_array_size}).\n      Cannot insert array member.\n    MESSAGE\n    return\n  end\n  modified do\n    @owner.adjust_port_position_to_insert(port)\n    subsc = port.get_subscript\n    i = @ports.length - 1\n    while i > subsc\n      @ports[i].set_subscript(@ports[i].get_subscript + 1)\n      @ports[i + 1] = @ports[i]\n      i -= 1\n    end\n    new_port = new_port(subsc + 1)\n    new_port.set_position(port.get_edge_side, port.offset + DIST_PORT)\n    @ports[subsc + 1] = new_port\n\n    TECSCDE.logger.info(\"insert ####\")\n  end\nend\n", :OK)