// -*- mode: java; c-basic-offset: 2; -*- // Copyright 2009-2011 Google, All Rights reserved // Copyright 2011-2012 MIT, All rights reserved // Released under the Apache License, Version 2.0 // http://www.apache.org/licenses/LICENSE-2.0 package com.google.appinventor.components.runtime; import android.app.Activity; /** * Components that can contain other components need to implement this * interface. * */ public interface ComponentContainer { /** * Returns the activity context (which can be retrieved from the root * container - aka the form). * * @return activity context */ Activity $context(); /** * Returns the form that ultimately contains this container. * * @return form */ Form $form(); /** * Adds a component to a container. * * <p/>After this method is finished executing, the given component's view * must have LayoutParams, even if the component cannot be added to the * container until later. * * @param component component associated with view */ void $add(AndroidViewComponent component); void setChildWidth(AndroidViewComponent component, int width); void setChildHeight(AndroidViewComponent component, int height); int Width(); int Height(); }