| 2060 | } |
| 2061 | |
| 2062 | void wxLineShape::ClearArrowsAtPosition(int end) |
| 2063 | { |
| 2064 | wxNode *node = m_arcArrows.GetFirst(); |
| 2065 | while (node) |
| 2066 | { |
| 2067 | wxArrowHead *arrow = (wxArrowHead *)node->GetData(); |
| 2068 | wxNode *next = node->GetNext(); |
| 2069 | switch (end) |
| 2070 | { |
| 2071 | case -1: |
| 2072 | { |
| 2073 | delete arrow; |
| 2074 | delete node; |
| 2075 | break; |
| 2076 | } |
| 2077 | case ARROW_POSITION_START: |
| 2078 | { |
| 2079 | if (arrow->GetArrowEnd() == ARROW_POSITION_START) |
| 2080 | { |
| 2081 | delete arrow; |
| 2082 | delete node; |
| 2083 | } |
| 2084 | break; |
| 2085 | } |
| 2086 | case ARROW_POSITION_END: |
| 2087 | { |
| 2088 | if (arrow->GetArrowEnd() == ARROW_POSITION_END) |
| 2089 | { |
| 2090 | delete arrow; |
| 2091 | delete node; |
| 2092 | } |
| 2093 | break; |
| 2094 | } |
| 2095 | case ARROW_POSITION_MIDDLE: |
| 2096 | { |
| 2097 | if (arrow->GetArrowEnd() == ARROW_POSITION_MIDDLE) |
| 2098 | { |
| 2099 | delete arrow; |
| 2100 | delete node; |
| 2101 | } |
| 2102 | break; |
| 2103 | } |
| 2104 | } |
| 2105 | node = next; |
| 2106 | } |
| 2107 | } |
| 2108 | |
| 2109 | bool wxLineShape::ClearArrow(const wxString& name) |
| 2110 | { |