From: Gopala K. <kri...@gm...> - 2007-11-04 14:32:29
|
Hi, This is going to be the major change in the qucs-qt4 where the components will be represented by xml and the corresponding schematic by svg. Now is the right time to come to a conclusion about the xml file format. I request active participation from you people in this regard. :-) According to the discussion between me and Bastein, this is the draft we agreed to(partially ;-) ) <component name="resistor" qucsversion="0.1.0"> <desc> <C>Resistor<C/> <fr>Resistance<fr/> <desc/> <help> <C>A dissipative device. Ohm law apply<C/> <help/> <schematic type="external" filename="resistor.svg"/> <ports> <port name="1" position="0,0"> <port name="1" position="4.5,0"> <ports/> <properties> <property name="R" type="double" range="positive" unit="ohm" isnetlistproperty="false"> <help> <C> Help text here <C/> <help/> <property/> <properties> <component/> This is just a rough draft. What is your opinion about this ? I have some doubts to be clarified. First of all i went through most of qucs/components/*.h and *.cpp files (Whew!! ) There are some components which implement the netlist method, verilog method and vhdl method. If we xmlize the components, how can we represent these in the xml ? Or should these components need to reimplemented as c++ code itself ? What does the parameter for get_VHDL_Code(int NumPorts) represent ? I see this usage in the function body, if(NumPorts < 0). But i really couldn't understand this. Can somebody explain me ? One more confusing place is the properties implementation. There are comments which warns us to maintain the order of properties. I understand that this is for specific reasons like for example not to write unnecessary properties to netlist. But it would be better if someone could make a comprehensive list of these special behavior so that it will be easier to convert them to xml. What is the best "name" to be used to identify components ? This will be used to cache svg's, id's of svgs, sidebar... Currently in qucs-qt3 i guess Component::Model is used to identify components right ? Finally should the digital and analog ports be differentiated or is it enough to use one kind of port to both the categories ? -- Cheers, Gopala Krishna A |