HI,
I am Vincent from Beijing University of Aeronautics and Astronautics, the Computer technology and sciences institution. This is the third year of my university life. Just as last talking in abiword mail list, I have check-out the code and read about it carefully.
Firstly, the following is my detailed information
*Name:* Vincent
*Chinese Name*: Zuyin Kang
*Email:* vincent.abiword@gmail.com
*Project Title:* Dialog improvements
More Detailed information about the application is on process.
Additional Requirements
I checkout the trunk code and debug in Visual Studio 2008. I need to deal with all the dependences used in Abiword. Then I add the debug line. Attachment is my screenshot.
My interested idea: Dialog improvements
I am quite interested about the idea: Dialog improvements. And I read some codes about this idea. Overall, Abiword is platform independent software. In Oder to achieve this, we need a very abstract definition of interface and model, such as PD_Document, pt_PieceTable. And all of this class will be override in Windows, Linux, MACOSX using OS-dependent GUI library. Using this architecture, we can reuse code fully.
Here is some of my understanding about this idea, and I also have a question to ask.
> AbiWord's table and Frame dialogs do not expose all the feature available to users. In the case of tables, this includes the ability to precisely set cell widths and heights.
I have tested in the released version and the debug version; users can¡¯t precisely set the widths and heights. And the function of setting the line width also has some bugs too. Take Windows for example:
The code is in : src\wp\ap\xp\ ap_Dialog_FormatTable.cpp
The process of changing the attributes of TABLE:
1 Evoke the command in User Interface
These two functions are upper level to change TABLE¡¯s border color and border thickness.These two functions are used to set the prosperity of Table.
void AP_Dialog_FormatTable::setBorderColor(UT_RGBColor clr)
void AP_Dialog_FormatTable::setBorderThickness(UT_UTF8String & sThick)
And all property of table is restored in a vector.
UT_PropVector m_vecProps;
Including: background-color left-color top-color bot-color left-thickness right-thickness
background-color: m_vecProps.addOrReplaceProp ("background-color", bgcol.c_str ());
So that in order to add the priority of setting the width and height. We need width and height into add to the vector.
2 Call function ¡®applyChanges¡¯ to apply changes in FVView
case AP_RID_DIALOG_FORMATTABLE_BTN_APPLY: applyChanges();
3 Abstract level setCellFormat. This Function is plat-independent. We copy the data from m_vecProps to propsArray which is acceptable by FV_View
pView->setCellFormat(propsArray, m_ApplyTo,m_pGraphic,m_sImagePath);
Set cells in a table to a given format. The formatting of the current selection, row, column or the whole table can be changed.
4. Do the actual change
m_pDoc->changeStruxFmt(PTC_AddFmt,posStart,posEnd,NULL,properties,PTX_SectionCell); roperties,pts);
bool pt_PieceTable::_realChangeStruxFmt
bool pt_PieceTable::_fmtChangeFmtMark
5 So that class ¡®ABI_EXPORT pf_Frag_Strux : public pf_Frag¡¯ has a lot of property but we don't expose to users.
> This project would also allow the Table and Frame dialogs to accept rotated text, which is the subject of another GSoC Project.
About this we need to add the property into the property vector. But also need to be acceptable by abstract class PieceTable.
My question:
About another part of this idea, what is the meaning of ¡®allow the frame height or width to expand the capture all the text enteed into the table¡¯? Can someone give an example? Thanks
I am looking fordward to hearing from you, thanks
Regards~
vincent@abiword
Received on Sun Feb 26 17:31:00 2012
This archive was generated by hypermail 2.1.8 : Sun Feb 26 2012 - 17:31:01 CET