Archive for the 'NSComboBox' Category

2013/08/03 Combo Boxの操作

AppleScriptObjCでNSComboBoxを操作したときのサンプルです。

ポップアップメニュー部分に値をセットするのと、追加を行うあたりの動作を書いてみました。

ポップアップメニュー側にデフォルトの一覧を設定しておいて、それ以外のユーザー入力値がテキストフィールド側に入力されてボタンをクリックしたら、入力値をポップアップメニュー側に追加します。

ソートされずに追加されてしまうので、ソートしてから追加したほうがよいのか……あるいは、DataSourceを指定すれば、自動的にソートされた状態が維持されるんじゃないかとか、もう少し突っ込んでおきたいところです。

combo1.png

→ Xcodeプロジェクトのダウンロード

AppleScriptObjCファイル名:AppDelegate.applescript

– AppDelegate.applescript
– comboBox

– Created by Takaaki Naganoya on 2013/07/24.
– Copyright (c) 2013年 Takaaki Naganoya. All rights reserved.


script AppDelegate
  property parent : class “NSObject”
  
  property aCombo : missing value
  
  property itemList : {“72″, “90″, “100″, “144″, “288″}
  
  on applicationWillFinishLaunching_(aNotification)
    
    repeat with i in my itemList
      aCombo’s addItemWithObjectValue_(i as string)
    end repeat
    
    aCombo’s selectItemAtIndex_(0) –デフォルト値の指定
    
  end applicationWillFinishLaunching_
  
  on applicationShouldTerminate_(sender)
    return current application’s NSTerminateNow
  end applicationShouldTerminate_
  
  
  on clicked_(sender)
    
    set aVal to aCombo’s stringValue(sender)
    
set aVal to aVal as string
    
display dialog aVal
    
    if aVal is not in my itemList then
      set the end of itemList to aVal
      
      aCombo’s addItemWithObjectValue_(aVal)
      
aCombo’s reloadData()
      
    end if
    
  end clicked_
  
end script

▼新規書類に ▼カーソル位置に ▼ドキュメント末尾に