/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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 helper; import com.sun.star.inspection.PropertyCategoryDescriptor; import com.sun.star.inspection.XObjectInspectorModel; /** * This is an implementation of ObjectInspectorModel. * @see com.sun.star.inspection.XObjectInspectorModel */ public class ObjectInspectorModelImpl implements XObjectInspectorModel{ /** * class variable which contains the implementations of * PropertyCategoryDescriptor * @see com.sun.star.inspection.PropertyCategoryDescriptor */ PropertyCategoryDescriptor[] m_Categories; /** * class variable which contains the count of implementations of * PropertyCategoryDescriptor */ int m_count; /** * Creates a new instance of ObjectInspectorModelImpl * For every count given in parameter count an * PropertyCategoryDescriptor was created an filled with valuable content. * @param count count of PropertyCategoryDescriptor to create */ public ObjectInspectorModelImpl(int count) { m_count = count; m_Categories = new PropertyCategoryDescriptor[m_count]; int CategoryMem = 0; int inCat = 0; for (int n=0; n < m_count; n++ ){ m_Categories[n] = new PropertyCategoryDescriptor(); int category = n / 2; inCat =(CategoryMem == category)? ++inCat: 1; CategoryMem = category; //System.out.println("Category" + category + "Number" + inCat); m_Categories[n].ProgrammaticName = "Category" + category; m_Categories[n].UIName = "Category" + category + "Number" + inCat; m_Categories[n].HelpURL = "h:" + n; } } /** * returns the catrgories * @return returns the catrgories */ public PropertyCategoryDescriptor[] describeCategories() { return m_Categories; } /** * returns currently nothing * @return nothing */ public Object[] getHandlerFactories() { return null; } /** determines whether the object inspector should have a help section @return false */ public boolean getHasHelpSection() { return false; } /** returns minimum number of lines in the help text section. @return 3 */ public int getMinHelpTextLines() { return 3; } /** returns maximum number of lines in the help text section. @return 8 */ public int getMaxHelpTextLines() { return 8; } /** returns whether or not the inspector's UI should be read-only */ public boolean getIsReadOnly() { return false; } /** sets the inspector's read-only state */ public void setIsReadOnly( boolean _IsReadOnly ) { // not supported, and not used so far in our test cases } /** * retrieves an index in a global property ordering, for a given property name * @param UIName the property whose global order index should be retrieved * @throws com.sun.star.beans.UnknownPropertyException if the given property is unknown * @return the global order index of PropertyName */ public int getPropertyOrderIndex(String UIName) { int index = 0; for (int n=0; n < m_Categories.length; n++){ if (m_Categories[n].UIName.equals(UIName)){ index = n; break; } } return index; } }