Sha256: a02191184e6e2e64b6f22f902a6f2d4ad2bb1eda8583f10e1e81428be3024134

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

#pragma once
#include "AutomationControl.h"
#include "StringHelper.h"

namespace UIA = System::Windows::Automation;

ref class AutomatedTabControl : AutomationControl 
{
public:
	AutomatedTabControl(const FindInformation& findInformation);
  
  int GetTabItems(const char* options[]);

  property String^ Selection {
      String^ get();
      void set(String^);
  }

  property int SelectedIndex {
      int get();
      void set(int);
  }

private:
	property AutomationElementCollection^ TabItems {
		AutomationElementCollection^ get() { return _control->FindAll(UIA::TreeScope::Subtree, TabItemCondition); }
	}

  property Condition^ TabItemCondition {
	  Condition^ get() { return gcnew PropertyCondition(AutomationElement::ControlTypeProperty, UIA::ControlType::TabItem); }
  }

  Condition^ GetNamedTabItemCondition(String^ name) {
	  return gcnew AndCondition(TabItemCondition, gcnew PropertyCondition(AutomationElement::NameProperty, name));
  }

  void Select(AutomationElement^ tabItem) {
    dynamic_cast<SelectionItemPattern^>(tabItem->GetCurrentPattern(SelectionItemPattern::Pattern))->Select();
  }
};

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rautomation-0.10.0 ext/UiaDll/UiaDll/AutomatedTabControl.h