The smart select feature is really good. But it extends a select to fast.
Just take this line:
auto* pRow = m_ctrl.GetCurSel();
Assume the cursor is on the m of m_ctrl. Currently the complete statement gets selected.
I would prefer that
1. m_ctrl is selected.
auto* pRow = m_ctrl.GetCurSel();
2. Than the right side of the statement or assignment is selected
auto* pRow = m_ctrl.GetCurSel();
3. The complete Statement is selected
auto* pRow = m_ctrl.GetCurSel();
Same here
Assume the cursor is on the m of the first m_ctrl in the if clause.
Currently it just extends to the complete if -block
if (iRow>=m_ctrl.GetRowCount())
m_ctrl.AddRow(pRow);
else
m_ctrl.InsertRowBefore(iRow, pRow);
1. Selection should extend to the variable.
if (iRow>=m_ctrl.GetRowCount())
m_ctrl.AddRow(pRow);
else
m_ctrl.InsertRowBefore(iRow, pRow);
2. To the right side of the expression
if (iRow>=m_ctrl.GetRowCount())
m_ctrl.AddRow(pRow);
else
m_ctrl.InsertRowBefore(iRow, pRow);
3. The complete expression
if (iRow>=m_ctrl.GetRowCount())
m_ctrl.AddRow(pRow);
else
m_ctrl.InsertRowBefore(iRow, pRow);
4. The if clause (complete line), a step with just the selection from open to closed pharenthesis seems not so interesting here.
if (iRow>=m_ctrl.GetRowCount())
m_ctrl.AddRow(pRow);
else
m_ctrl.InsertRowBefore(iRow, pRow);
5. The first if clause part
if (iRow>=m_ctrl.GetRowCount())
m_ctrl.AddRow(pRow);
else
m_ctrl.InsertRowBefore(iRow, pRow);
6. Complete if/else construct
if (iRow>=m_ctrl.GetRowCount())
m_ctrl.AddRow(pRow);
else
m_ctrl.InsertRowBefore(iRow, pRow);
I would like to here from you about this idea.
Greetings and happy coding
Martin