blob: 8c1edb808e55b7b94f2a17399884a768bbbc3f19 [file] [log] [blame]
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.monkeyrunner;
import com.google.common.base.Preconditions;
import com.android.chimpchat.core.IChimpView;
import com.android.monkeyrunner.doc.MonkeyRunnerExported;
import org.python.core.ArgParser;
import org.python.core.ClassDictInit;
import org.python.core.PyBoolean;
import org.python.core.PyInteger;
import org.python.core.PyList;
import org.python.core.PyObject;
import org.python.core.PyString;
import java.util.List;
import java.util.logging.Logger;
/*
* Jython wrapper for the ChimpView class
*/
@MonkeyRunnerExported(doc = "Represents a view object.")
public class MonkeyView extends PyObject implements ClassDictInit {
private static final Logger LOG = Logger.getLogger(MonkeyView.class.getName());
private IChimpView impl;
public static void classDictInit(PyObject dict) {
JythonUtils.convertDocAnnotationsForClass(MonkeyView.class, dict);
}
public MonkeyView(IChimpView impl) {
this.impl = impl;
}
@MonkeyRunnerExported(doc = "Get the checked status of the view",
returns = "A boolean value for whether the item is checked or not")
public PyBoolean getChecked(PyObject[] args, String[] kws) {
ArgParser ap = JythonUtils.createArgParser(args, kws);
Preconditions.checkNotNull(ap);
return new PyBoolean(impl.getChecked());
}
@MonkeyRunnerExported(doc = "Returns the class name of the view",
returns = "The class name of the view as a string")
public PyString getViewClass(PyObject[] args, String[] kws) {
ArgParser ap = JythonUtils.createArgParser(args, kws);
Preconditions.checkNotNull(ap);
return new PyString(impl.getViewClass());
}
@MonkeyRunnerExported(doc = "Returns the text contained by the view",
returns = "The text contained in the view")
public PyString getText(PyObject[] args, String[] kws) {
ArgParser ap = JythonUtils.createArgParser(args, kws);
Preconditions.checkNotNull(ap);
return new PyString(impl.getText());
}
@MonkeyRunnerExported(doc = "Returns the location of the view in the form of a MonkeyRect",
returns = "The location of the view as a MonkeyRect object")
public MonkeyRect getLocation(PyObject[] args, String[] kws) {
ArgParser ap = JythonUtils.createArgParser(args, kws);
Preconditions.checkNotNull(ap);
return new MonkeyRect(impl.getLocation());
}
@MonkeyRunnerExported(doc = "Returns the enabled status of the view",
returns = "The enabled status of the view as a boolean")
public PyBoolean getEnabled(PyObject[] args, String[] kws) {
ArgParser ap = JythonUtils.createArgParser(args, kws);
Preconditions.checkNotNull(ap);
return new PyBoolean(impl.getEnabled());
}
@MonkeyRunnerExported(doc = "Returns the selected status of the view",
returns = "The selected status of the view as a boolean")
public PyBoolean getSelected(PyObject[] args, String[] kws) {
ArgParser ap = JythonUtils.createArgParser(args, kws);
Preconditions.checkNotNull(ap);
return new PyBoolean(impl.getSelected());
}
@MonkeyRunnerExported(doc = "Sets the selected status of the view",
args = {"selected"},
argDocs = { "The boolean value to set selected to" })
public void setSelected(PyObject[] args, String[] kws) {
ArgParser ap = JythonUtils.createArgParser(args, kws);
Preconditions.checkNotNull(ap);
PyBoolean pySelected = (PyBoolean) ap.getPyObject(0, new PyBoolean(false));
boolean selected = (Boolean) pySelected.__tojava__(Boolean.class);
impl.setSelected(selected);
}
@MonkeyRunnerExported(doc = "Returns the focused status of the view",
returns = "The focused status of the view as a boolean")
public PyBoolean getFocused(PyObject[] args, String[] kws) {
ArgParser ap = JythonUtils.createArgParser(args, kws);
Preconditions.checkNotNull(ap);
return new PyBoolean(impl.getFocused());
}
@MonkeyRunnerExported(doc = "Sets the focused status of the view",
args = {"focused"},
argDocs = { "The boolean value to set focused to" })
public void setFocused(PyObject[] args, String[] kws) {
ArgParser ap = JythonUtils.createArgParser(args, kws);
Preconditions.checkNotNull(ap);
PyBoolean pyFocused = (PyBoolean) ap.getPyObject(0, new PyBoolean(false));
boolean focused = (Boolean) pyFocused.__tojava__(Boolean.class);
impl.setFocused(focused);
}
@MonkeyRunnerExported(doc = "Returns the parent of the current view",
returns = "The parent of the view as a MonkeyView object")
public MonkeyView getParent(PyObject[] args, String[] kws) {
ArgParser ap = JythonUtils.createArgParser(args, kws);
Preconditions.checkNotNull(ap);
MonkeyView parent = new MonkeyView(impl.getParent());
return parent;
}
@MonkeyRunnerExported(doc = "Returns the children of the current view",
returns = "The children of the view as a list of MonkeyView objects")
public PyList getChildren(PyObject[] args, String[] kws) {
ArgParser ap = JythonUtils.createArgParser(args, kws);
Preconditions.checkNotNull(ap);
List<IChimpView> chimpChildren = impl.getChildren();
PyList children = new PyList();
for (IChimpView child : chimpChildren) {
children.append(new MonkeyView(child));
}
return children;
}
@MonkeyRunnerExported(doc = "Returns the accessibility ids of the current view",
returns = "The accessibility ids of the view as a list of ints")
public PyList getAccessibilityIds(PyObject[] args, String[] kws) {
ArgParser ap = JythonUtils.createArgParser(args, kws);
Preconditions.checkNotNull(ap);
int[] ids = impl.getAccessibilityIds();
PyList pyIds = new PyList();
for (int i = 0; i < ids.length; i++) {
pyIds.append(new PyInteger(ids[i]));
}
return pyIds;
}
}