class HFormField

Public Class Methods

new(moduleName, record, odb, oid, dialogLevel) click to toggle source
# File lib/hwidgets/hformfield.rb, line 3
def initialize(moduleName, record, odb, oid, dialogLevel)
  @formField = nil
  @odb = odb
  @moduleName = moduleName
  @modelName = odb.modelName.to_s
  @record = record
  @oid = oid
  @dialogLevel = dialogLevel
  @value = @record.value(:value)
  @oid = hm().malloc(self, oid).obj.object_id.to_s
end

Public Instance Methods

obj() click to toggle source
# File lib/hwidgets/hformfield.rb, line 15
def obj()
  
  record = @record
  value = @value

  name = @record.name
  type = @record.type
  label = @record.label
  default = @record.default
  dialogLevel = @record.dialogLevel

  if(type == "combobox")
    @formField = HSelectTag.new(name, "#{@modelName}[#{name}]", label).
      setItems(record.value("items").split(",")).
      setValues(record.value("values").split(",")).
      setCarriageReturn().
      setSelected(value) 

  elsif(type == "dbcombobox")
    hl << "dbComboBox".red
    modelName = @odb.fieldProperty(name, "modelNameReference")
    puts "@odb.#{modelName}_id".red
    odb = eval("@odb.#{modelName}_id")
    puts "#{odb.class}".red
    puts "#{odb.table}".red
    puts "#{odb.type}".red
    puts "§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§===========> end".red
    odb = odb.odb if odb.class == HRecordPtr
    showedFieldName = record.value("show_field")
    selectedValue = record.value(:value)
    puts "#{selectedValue}".red
    @formField = HDBComboBox.new(@moduleName, odb, name, showedFieldName, label, selectedValue, @oid, @dialogLevel)

  elsif(type == "lineedit")
    @formField = HInputTag.new(name, @modelName, label, nil, type).
      setCarriageReturn().
      setSelected(value) 

  elsif(type == "radiobutton")
    @formField = HRadioButtonTag.new(name, @modelName, label).
      setCarriageReturn().
      setSelected(value) 
    @formField.items = record.value("items").split(",")
    @formField.values = record.value("values").split(",")

  elsif(type == "checkbox")
    @formField = HCheckBoxTag.new(name, @modelName, label).
      setCarriageReturn().
      setSelected(value)
    @formField.items = record.value("items").split(",")
    @formField.values = record.value("values").split(",")

  elsif(type == "textarea")
    @formField = HTextAreaTag.new(name, @modelName, label).setCarriageReturn().
      setSelected(value). 
      setInnerHTML(value) 

  elsif(type == "dbtable")
    modelName = @odb.fieldProperty(name, "modelNameReference")
    puts "@odb.#{modelName}_table".red
    odb = eval("@odb.#{modelName}_table")
    odb = odb.odb if odb.class == HRecordPtr
    @formField = HDBTableView.new(moduleName: @moduleName, modelName: modelName, 
                                  poid: @oid, odb: odb, dialogLevel: dialogLevel.to_i + 1)
    HDBTableView.tableViewDecorator(@formField)
  
  elsif(type == "submit")
    @formField = HWidget.new("input").setClosedTag(false)
    @formField.set(type: "submit", value: label)
  end
  
  return @formField

end