Hi Ingrid ,
Just discard my last email where i reported a bug about renaming sheets .
actually i solved the issue . I was probably doing some mistake ,but now i
get correct behavior .

The most important thing for me now is to arrange the vertical grid labels
in ranges of 1 month .

1-while thinking about the hack you described in last emails ; if i clear
date cells that i don't need to display , will the corresponding vertical
grid of empty cells be drawn in chart diagram ?

2- we get the range sequence using code :
 com.sun.star.chart2.data.XDataSequence
oSequence=oDataProv.createDataSequenceByRangeRepresentation(string_range);

oSequence object has a getData() method that returns an array of Object[]
i was thinking i can process array getData() and then set the new processed
data to oSequence ; however oSequence doesn't have a setData() method . is
it possible to assign an array of Object[] to a XDataSequence instance ? 

i think this workaround could help me solve the x-axis label ranges without
inserting a new dummy column. what you think ? 

it would really make me a happy man if you propose some other solution to
make the vertical grid for x-axis dates more readable?

thanks.





othman wrote:
> 
> Thanks much Ingrid ,i'll try using this workaround .
> As you can see this discussion may be useful to discover bugs and improve
> the charting component.
> 
> I think i discovered another bug related to calc sheets renaming. here is
> the situation:
> 
> 1-I open a calc spreadsheet with 3 initial sheets : (Sheet1
> ,Sheet2,Sheet3)
> 2-programatically from java code i insert a new sheet ( Sheet4)
> 3-manually from OO.o i rename (Sheet4) to (Sheet4_bis)    (i did that
> manually not from java code) 
> 4-when i query the array of sheet elements Names i got : (Sheet1
> ,Sheet2,Sheet3,Sheet4_bis, Sheet4)
> 
> as you can see renaming (Sheet4) didn't removed this sheet name from
> sheets array names :it only push it to end of sheets elemets array .
> is this a bug ? how can i fix this issue ? i need when i rename a sheet
> manually; the old sheet name (sheet4) should be replaced by new name and
> sheet name (Sheet4) must be removed from sheets elements array.
> 
> thanks much .
> 
> othman.
> 
> 
> Ingrid Halama wrote:
>> 
>> Hi,
>> 
>> That is a bug. You can do the following to work around:
>> 
>> Query the Chart document for interface XMultiServiceFactory:
>> http://api.openoffice.org/docs/common/ref/com/sun/star/lang/XMultiServiceFactory.html
>> 
>> Use method createInstance with service name 
>> "com.sun.star.drawing.DashTable" to get the dash table use by the chart.
>> http://api.openoffice.org/docs/common/ref/com/sun/star/drawing/DashTable.html
>> 
>> Now insert your newly created dash to the table using the method 
>> insertByName. You will need to create a unique name for your dash here.
>> 
>> Use this unique name and set it to the property "LineDashName" instead 
>> of setting the property "LineDash".
>> 
>> Kind regards,
>> Ingrid
>> 
>> othman wrote:
>>> Hi Ingid ,
>>> thanks for providing the hack ..it is never a good Idea to hack ; but if
>>> i
>>> have no other choice then i'll try your method.
>>> 
>>> there is a small issue i'm facing with the diagram vertical grid : i
>>> want to
>>> have a dashed line vertical grid . i wrote code to get this effect (see
>>> code
>>> below) .it indeed displays the dashed line for vertical grid ..but the
>>> problem is when i tried to play with the attributes of LineDash,  it
>>> always
>>> gives me same dashed grid. 
>>> it seems that this line code is not executed : 
>>> xGridProp.setPropertyValue(
>>> "LineDash", aDash );
>>> because if i comment this line code i get the same grid as if i don't
>>> comment it .
>>> 
>>> can you point me what is the issue with LineDash ?
>>> 
>>> thanks .
>>> 
>>> code:
>>> 
>>>  // x major grid
>>>         XPropertySet xGridProp = (XPropertySet)
>>> UnoRuntime.queryInterface(
>>>             XPropertySet.class,
>>>             ( (XAxisXSupplier) UnoRuntime.queryInterface(
>>>                 XAxisXSupplier.class, maDiagram )).getXMainGrid());
>>> 
>>>         if( xGridProp != null )
>>>         {
>>>            LineDash aDash = new LineDash();
>>>           
>>>             aDash.Style    = DashStyle.ROUND;
>>>             aDash.Dots     = 2;
>>>             aDash.DotLen   = 10;
>>>             aDash.Dashes   = 1;
>>>             aDash.DashLen  = 200;
>>>             aDash.Distance = 100;
>>> 
>>>             xGridProp.setPropertyValue( "LineColor", new Integer(
>>> 0x000000
>>> ));
>>>             xGridProp.setPropertyValue( "LineStyle", LineStyle.DASH );
>>>             xGridProp.setPropertyValue( "LineDash", aDash );
>>>             xGridProp.setPropertyValue( "LineWidth", new Integer( 30 ));
>>> 
>>>     }
>>> 
>>> 
>>> Ingrid Halama wrote:
>>>> Hi,
>>>>
>>>> othman wrote:
>>>>> Hi Ingrid,
>>>>> I believe the zooming feature might be beyond the scope of my project
>>>>> requirements now..
>>>> Ok.
>>>>
>>>>> anyway i wish if you can think adding the feature of scaling the dates
>>>>> x-axis values for candle charts : date objects are  a widely used data
>>>>> type
>>>>> and offering this feature of scaling date ranges would be a good Idea.
>>>>>
>>>> I agree and I know. There are still a lot of issues of similar quality. 
>>>> Work is ongoing.
>>>>
>>>>> i have a small issue :
>>>>> There is concern on the x-axis labels. I need to  display only one
>>>>> date
>>>>> label for each month. For instance, if the chart starts from Dec 6
>>>>> 2007,
>>>>> there should be labels of 12/6/2007, 1/6/2008, 2/6/2008, 3/6/2008,
>>>>> 4/6/2008,
>>>>> 5/6/2008 on x-axis. and other date labels should not be displayed on
>>>>> x-axis
>>>>> . how can i implement this ?
>>>>>
>>>> At the moment there exists no good/normal/acceptable way to do that 
>>>> (neither API nor user interface). You can only try to hack:
>>>>
>>>> Assuming you have a data point for each day (ordered in time) and you 
>>>> have a cell range containing all those days you can try the following:
>>>> Copy all the dates to another location in the calc. Calculate which of 
>>>> the days you want to display and which not. Clear the cells with the 
>>>> dates that you do not want to display. Use the newly created cell-range 
>>>> (including all the cleared cells) for display of the categories. To use 
>>>> the new range for category display you need to do the following:
>>>> Query the com::sun::star::chart2::Diagram for interface 
>>>> XCoordinateSystemContainer
>>>> (http://api.openoffice.org/docs/common/ref/com/sun/star/chart2/XCoordinateSystemContainer.html).
>>>> Get the first coordinate system:
>>>> http://api.openoffice.org/docs/common/ref/com/sun/star/chart2/XCoordinateSystem.html.
>>>> At the coordinate system use method getAxisByDimension(0,0) to get the 
>>>> primary x axis 
>>>> (http://api.openoffice.org/docs/common/ref/com/sun/star/chart2/XAxis.html).
>>>> At the axis get the scale data by using method getScaleData 
>>>> (http://api.openoffice.org/docs/common/ref/com/sun/star/chart2/ScaleData.html).
>>>> At the scale you will find a member "Categories" of type 
>>>> XLabeledDataSequence. You know already how to create such objects from 
>>>> cell ranges. Set the role of the values to "categories" in this case. 
>>>> Then set the new sequence to the Categories member and set the changed 
>>>> scale back to the axis (setScaleData). Be careful when playing around 
>>>> with the other scale settings as not all of them are saved and loaded, 
>>>> some do not have an effect at all so far.
>>>>
>>>> This hack has a problem. When the user changes the original dates after 
>>>> creation of the chart, the chart will not reflect those changes. Don't 
>>>> know whether that is important in your scenario.
>>>>
>>>> Kind regards,
>>>> Ingrid
>>>>
>>>>> thanks.
>>>>>
>>>>> othman.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Ingrid Halama wrote:
>>>>>> Hi,
>>>>>>
>>>>>> othman wrote:
>>>>>>> Hi Ingrid,
>>>>>>> as we all know the candle chart has two bars (black and white)
>>>>>>> I guess that by changing the bar width, the chart can have a larger
>>>>>>> date
>>>>>>> range displayed.
>>>>>> No.
>>>>>>
>>>>>>> I am not sure whether this is the correct direction to fix
>>>>>>> the x-axis scale problem . what you think about that ? and is it
>>>>>>> possible
>>>>>>> to
>>>>>>> change the width of candle chart bars ?
>>>>>> No, that is not the right direction to fix the problem. It is not 
>>>>>> possible to set a manual width to the candles. The width is
>>>>>> calculated 
>>>>>> automatically dependent on the amount of data and the place provided.
>>>>>>
>>>>>> So again, I would suggest to change the data ranges on your zooming
>>>>>> control.
>>>>>>
>>>>>>> thanks
>>>>>>>
>>>>>>> othman
>>>>>>>
>>>>>> Kind regards,
>>>>>> Ingrid
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>>
>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/discussing-com%3Asun%3Astar%3Achart2-API-tp19268400p19591042.html
Sent from the openoffice - api dev mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to