Module: Fzeet::ListViewMethods
- Included in:
- ListView
- Defined in:
- lib/fzeet/windows/comctl/ListView.rb
Defined Under Namespace
Instance Method Summary collapse
- #clear ⇒ Object
- #insertColumn(i, text, width) ⇒ Object
- #insertItem(i, j, text) ⇒ Object
- #sort(j = 0) ⇒ Object
- #xstyle ⇒ Object
- #xstyle?(xstyle) ⇒ Boolean
Instance Method Details
#clear ⇒ Object
427 |
# File 'lib/fzeet/windows/comctl/ListView.rb', line 427 def clear; sendmsg(:deleteallitems); self end |
#insertColumn(i, text, width) ⇒ Object
363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 |
# File 'lib/fzeet/windows/comctl/ListView.rb', line 363 def insertColumn(i, text, width) lvc = Windows::LVCOLUMN.new lvc[:mask] = Fzeet.flags([:fmt, :width, :text, :subitem], :lvcf_) lvc[:fmt] = Fzeet.flags(:left, :lvcfmt_) lvc[:cx] = width lvc[:pszText] = ptext = FFI::MemoryPointer.from_string(text) lvc[:iSubItem] = i sendmsg(:insertcolumn, 0, lvc.pointer) self ensure ptext.free if ptext end |
#insertItem(i, j, text) ⇒ Object
385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 |
# File 'lib/fzeet/windows/comctl/ListView.rb', line 385 def insertItem(i, j, text) lvi = Windows::LVITEM.new lvi[:mask] = Fzeet.flags(:text, :lvif_) lvi[:iItem] = i lvi[:iSubItem] = j lvi[:pszText] = ptext = FFI::MemoryPointer.from_string(text) if j == 0 @items << Item.new(lvi) lvi[:mask] |= Windows::LVIF_PARAM lvi[:lParam] = @items[i].object_id sendmsg(:insertitem, 0, lvi.pointer) else @items[i].subitems << lvi sendmsg(:setitem, 0, lvi.pointer) end @items[i].subitems[j].instance_variable_set(:@text, text) class << @items[i].subitems[j] attr_reader :text end self ensure ptext.free if ptext end |
#sort(j = 0) ⇒ Object
417 418 419 420 421 422 423 424 425 |
# File 'lib/fzeet/windows/comctl/ListView.rb', line 417 def sort(j = 0) sendmsg(:sortitems, j, FFI::Function.new(:int, [:long, :long, :long], convention: :stdcall) { |lParam1, lParam2, lParamSort| yield ObjectSpace._id2ref(lParam1).subitems[lParamSort], ObjectSpace._id2ref(lParam2).subitems[lParamSort], j } ) self end |