Loading change_log.txt +20 −1 Original line number Original line Diff line number Diff line Loading @@ -5,13 +5,32 @@ Please add newer entries at the top, list the date and your name with email address. email address. 2007-Sep-11 UPDATE Dick Hollenbeck <dick@softplc.com> ================================================================================ + pcbnew * Changed PcbLocateAndDisplay() to be tool specific in its search and to present a popup menu when there are multiple items under the mouse. It is also a framework for future enhancements. @todo: grep for @todo and finish off those tasks. * Introduced a formal notion of "selected item". This is done with the addition of the WinEDA_BasePcbFrame::SetCurItem() function. So now you have to first select an item with the left mouse button before you attempt to use the right button popup menu. Right button no longer has an effect on the currently selected item. The currently selected item is shown in the MsgPanel. When none is selected, the m_Pcb is shown. * Tweaked the OnRightClick() popup menus so that the most likely choices are at the top. * Added wxString BOARD_ITEM::MenuText() const and BOARD_ITEM::MenuIcon() and both need more work, work which I will not have time to do. 2007-Sep-10 UPDATE Dick Hollenbeck <dick@softplc.com> 2007-Sep-10 UPDATE Dick Hollenbeck <dick@softplc.com> ================================================================================ ================================================================================ + pcbnew + pcbnew * Searched and did not see any usage of TRACK::Copy(int), where int was other * Searched and did not see any usage of TRACK::Copy(int), where int was other than '1', so renamed it to TRACK::CopyList(int) and commented it out because than '1', so renamed it to TRACK::CopyList(int) and commented it out because with int==1, this makes Copy(1) equivalent to the new Copy(void). with int==1, this makes Copy(1) equivalent to the new Copy(void). * Made TRACK::Copy() capable or copying SEGZONE too. * Made TRACK::Copy() capable of copying SEGZONE too. 2007-sept-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> 2007-sept-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> Loading common/base_screen.cpp +0 −10 Original line number Original line Diff line number Diff line Loading @@ -555,13 +555,3 @@ EDA_BaseStruct* BASE_SCREEN::GetItemFromRedoList() return item; return item; } } void BASE_SCREEN::SetCurItem( EDA_BaseStruct* aCurItem ) { #if 0 && defined(DEBUG) printf( "SetCurItem(%p)\n", aCurItem ); #endif m_CurrentItem = aCurItem; } include/base_struct.h +15 −0 Original line number Original line Diff line number Diff line Loading @@ -477,6 +477,21 @@ public: return false; // only MODULEs can be locked at this time. return false; // only MODULEs can be locked at this time. } } /** * Function MenuText * @return wxString - The text to use in any menu type UI control which * must identify this item. * @todo: make this virtual and split into each derived class */ wxString MenuText() const; /** * Function MenuIcon * @return const char** - The XPM to use in any UI control which can help * identify this item. * @todo: make this virtual and split into each derived class */ const char** MenuIcon() const; }; }; Loading include/drawpanel_wxstruct.h +8 −4 Original line number Original line Diff line number Diff line Loading @@ -215,7 +215,7 @@ private: char m_FlagRefreshReq; /* indique que l'ecran doit redessine */ char m_FlagRefreshReq; /* indique que l'ecran doit redessine */ char m_FlagModified; // indique modif du PCB,utilise pour eviter une sortie sans sauvegarde char m_FlagModified; // indique modif du PCB,utilise pour eviter une sortie sans sauvegarde char m_FlagSave; // indique sauvegarde auto faite char m_FlagSave; // indique sauvegarde auto faite EDA_BaseStruct* m_CurrentItem; /* Current selected object */ EDA_BaseStruct* m_CurrentItem; ///< Current selected object /* Valeurs du pas de grille et du zoom */ /* Valeurs du pas de grille et du zoom */ public: public: Loading Loading @@ -264,7 +264,11 @@ public: * activity easier in base_screen.cpp. * activity easier in base_screen.cpp. * @param current Any object derived from EDA_BaseStruct * @param current Any object derived from EDA_BaseStruct */ */ void SetCurItem( EDA_BaseStruct* current ); void SetCurItem( EDA_BaseStruct* current ) { m_CurrentItem = current; } EDA_BaseStruct* GetCurItem() const { return m_CurrentItem; } EDA_BaseStruct* GetCurItem() const { return m_CurrentItem; } /* fonctions relatives au zoom */ /* fonctions relatives au zoom */ Loading @@ -290,7 +294,7 @@ public: * Function RefPos * Function RefPos * returns the reference position, coming from either the mouse position or the * returns the reference position, coming from either the mouse position or the * the cursor position. * the cursor position. * @param useMouse If true, return mouse posistion, else cursor's. * @param useMouse If true, return mouse position, else cursor's. * @return wxPoint - The reference point, either the mouse position or * @return wxPoint - The reference point, either the mouse position or * the cursor position. * the cursor position. */ */ Loading include/id.h +6 −1 Original line number Original line Diff line number Diff line Loading @@ -2,6 +2,8 @@ #ifndef ID_H #ifndef ID_H #define ID_H #define ID_H #define MAX_ITEMS_IN_PICKER 15 ///< max no. items in the popup menu for item selection enum main_id { enum main_id { ID_MAIN_FRAME = 100, ID_MAIN_FRAME = 100, ID_LEFT_FRAME, ID_LEFT_FRAME, Loading Loading @@ -635,6 +637,10 @@ enum main_id { ID_POPUP_PCB_END_RANGE, ID_POPUP_PCB_END_RANGE, // reserve a block of MAX_ITEMS_IN_PICKER ids for the item selection popup ID_POPUP_PCB_ITEM_SELECTION_START, ID_POPUP_PCB_ITEM_SELECTION_END = MAX_ITEMS_IN_PICKER + ID_POPUP_PCB_ITEM_SELECTION_START, ID_POPUP_PCB_AUTOPLACE_START_RANGE, ID_POPUP_PCB_AUTOPLACE_START_RANGE, ID_POPUP_PCB_AUTOPLACE_FIXE_MODULE, ID_POPUP_PCB_AUTOPLACE_FIXE_MODULE, Loading Loading @@ -858,7 +864,6 @@ enum main_id { ID_PCB_MUWAVE_END_CMD, ID_PCB_MUWAVE_END_CMD, ID_END_LIST ID_END_LIST }; }; #endif /* define ID_H */ #endif /* define ID_H */ Loading
change_log.txt +20 −1 Original line number Original line Diff line number Diff line Loading @@ -5,13 +5,32 @@ Please add newer entries at the top, list the date and your name with email address. email address. 2007-Sep-11 UPDATE Dick Hollenbeck <dick@softplc.com> ================================================================================ + pcbnew * Changed PcbLocateAndDisplay() to be tool specific in its search and to present a popup menu when there are multiple items under the mouse. It is also a framework for future enhancements. @todo: grep for @todo and finish off those tasks. * Introduced a formal notion of "selected item". This is done with the addition of the WinEDA_BasePcbFrame::SetCurItem() function. So now you have to first select an item with the left mouse button before you attempt to use the right button popup menu. Right button no longer has an effect on the currently selected item. The currently selected item is shown in the MsgPanel. When none is selected, the m_Pcb is shown. * Tweaked the OnRightClick() popup menus so that the most likely choices are at the top. * Added wxString BOARD_ITEM::MenuText() const and BOARD_ITEM::MenuIcon() and both need more work, work which I will not have time to do. 2007-Sep-10 UPDATE Dick Hollenbeck <dick@softplc.com> 2007-Sep-10 UPDATE Dick Hollenbeck <dick@softplc.com> ================================================================================ ================================================================================ + pcbnew + pcbnew * Searched and did not see any usage of TRACK::Copy(int), where int was other * Searched and did not see any usage of TRACK::Copy(int), where int was other than '1', so renamed it to TRACK::CopyList(int) and commented it out because than '1', so renamed it to TRACK::CopyList(int) and commented it out because with int==1, this makes Copy(1) equivalent to the new Copy(void). with int==1, this makes Copy(1) equivalent to the new Copy(void). * Made TRACK::Copy() capable or copying SEGZONE too. * Made TRACK::Copy() capable of copying SEGZONE too. 2007-sept-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> 2007-sept-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> Loading
common/base_screen.cpp +0 −10 Original line number Original line Diff line number Diff line Loading @@ -555,13 +555,3 @@ EDA_BaseStruct* BASE_SCREEN::GetItemFromRedoList() return item; return item; } } void BASE_SCREEN::SetCurItem( EDA_BaseStruct* aCurItem ) { #if 0 && defined(DEBUG) printf( "SetCurItem(%p)\n", aCurItem ); #endif m_CurrentItem = aCurItem; }
include/base_struct.h +15 −0 Original line number Original line Diff line number Diff line Loading @@ -477,6 +477,21 @@ public: return false; // only MODULEs can be locked at this time. return false; // only MODULEs can be locked at this time. } } /** * Function MenuText * @return wxString - The text to use in any menu type UI control which * must identify this item. * @todo: make this virtual and split into each derived class */ wxString MenuText() const; /** * Function MenuIcon * @return const char** - The XPM to use in any UI control which can help * identify this item. * @todo: make this virtual and split into each derived class */ const char** MenuIcon() const; }; }; Loading
include/drawpanel_wxstruct.h +8 −4 Original line number Original line Diff line number Diff line Loading @@ -215,7 +215,7 @@ private: char m_FlagRefreshReq; /* indique que l'ecran doit redessine */ char m_FlagRefreshReq; /* indique que l'ecran doit redessine */ char m_FlagModified; // indique modif du PCB,utilise pour eviter une sortie sans sauvegarde char m_FlagModified; // indique modif du PCB,utilise pour eviter une sortie sans sauvegarde char m_FlagSave; // indique sauvegarde auto faite char m_FlagSave; // indique sauvegarde auto faite EDA_BaseStruct* m_CurrentItem; /* Current selected object */ EDA_BaseStruct* m_CurrentItem; ///< Current selected object /* Valeurs du pas de grille et du zoom */ /* Valeurs du pas de grille et du zoom */ public: public: Loading Loading @@ -264,7 +264,11 @@ public: * activity easier in base_screen.cpp. * activity easier in base_screen.cpp. * @param current Any object derived from EDA_BaseStruct * @param current Any object derived from EDA_BaseStruct */ */ void SetCurItem( EDA_BaseStruct* current ); void SetCurItem( EDA_BaseStruct* current ) { m_CurrentItem = current; } EDA_BaseStruct* GetCurItem() const { return m_CurrentItem; } EDA_BaseStruct* GetCurItem() const { return m_CurrentItem; } /* fonctions relatives au zoom */ /* fonctions relatives au zoom */ Loading @@ -290,7 +294,7 @@ public: * Function RefPos * Function RefPos * returns the reference position, coming from either the mouse position or the * returns the reference position, coming from either the mouse position or the * the cursor position. * the cursor position. * @param useMouse If true, return mouse posistion, else cursor's. * @param useMouse If true, return mouse position, else cursor's. * @return wxPoint - The reference point, either the mouse position or * @return wxPoint - The reference point, either the mouse position or * the cursor position. * the cursor position. */ */ Loading
include/id.h +6 −1 Original line number Original line Diff line number Diff line Loading @@ -2,6 +2,8 @@ #ifndef ID_H #ifndef ID_H #define ID_H #define ID_H #define MAX_ITEMS_IN_PICKER 15 ///< max no. items in the popup menu for item selection enum main_id { enum main_id { ID_MAIN_FRAME = 100, ID_MAIN_FRAME = 100, ID_LEFT_FRAME, ID_LEFT_FRAME, Loading Loading @@ -635,6 +637,10 @@ enum main_id { ID_POPUP_PCB_END_RANGE, ID_POPUP_PCB_END_RANGE, // reserve a block of MAX_ITEMS_IN_PICKER ids for the item selection popup ID_POPUP_PCB_ITEM_SELECTION_START, ID_POPUP_PCB_ITEM_SELECTION_END = MAX_ITEMS_IN_PICKER + ID_POPUP_PCB_ITEM_SELECTION_START, ID_POPUP_PCB_AUTOPLACE_START_RANGE, ID_POPUP_PCB_AUTOPLACE_START_RANGE, ID_POPUP_PCB_AUTOPLACE_FIXE_MODULE, ID_POPUP_PCB_AUTOPLACE_FIXE_MODULE, Loading Loading @@ -858,7 +864,6 @@ enum main_id { ID_PCB_MUWAVE_END_CMD, ID_PCB_MUWAVE_END_CMD, ID_END_LIST ID_END_LIST }; }; #endif /* define ID_H */ #endif /* define ID_H */