Skip to content

Commit a7265ba

Browse files
authored
v22.1.18.113
* sort tool added
1 parent 9ae0876 commit a7265ba

10 files changed

+555
-82
lines changed

KMZRebuilder.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@
108108
<DependentUpon>GPXTachograph.cs</DependentUpon>
109109
</Compile>
110110
<Compile Include="InputBox.cs">
111-
<SubType>Form</SubType>
111+
<SubType>Component</SubType>
112112
</Compile>
113113
<Compile Include="InterpolateLess.cs">
114114
<SubType>Form</SubType>
@@ -163,7 +163,7 @@
163163
<Compile Include="MemoryFile.cs" />
164164
<Compile Include="MruList.cs" />
165165
<Compile Include="MultiPointRouteForm.cs">
166-
<SubType>Form</SubType>
166+
<SubType>Component</SubType>
167167
</Compile>
168168
<Compile Include="MultiPointRouteForm.Designer.cs">
169169
<DependentUpon>MultiPointRouteForm.cs</DependentUpon>

KMZRebuilederForm.Designer.cs

Lines changed: 24 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

KMZRebuilederForm.cs

Lines changed: 79 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2743,6 +2743,19 @@ private void SortLayers(sbyte sortBy)
27432743
kmzLayers.Visible = true;
27442744
}
27452745

2746+
private void SortByMouse()
2747+
{
2748+
kmzLayers.Sorted = false;
2749+
kmzLayers.SortBy = (byte)0;
2750+
sortByAddingToolStripMenuItem.Checked = false;
2751+
sortASCToolStripMenuItem.Checked = false;
2752+
sortByObjectsCountToolStripMenuItem.Checked = false;
2753+
sortByCheckedToolStripMenuItem.Checked = false;
2754+
sortByO.Checked = false;
2755+
sortByL.Checked = false;
2756+
sortByA.Checked = false;
2757+
}
2758+
27462759
private void MoveLayerUp_Click(object sender, EventArgs e)
27472760
{
27482761
if (kmzLayers.SelectedIndex < 1) return;
@@ -7950,6 +7963,47 @@ private void importFromShapeFileToolStripMenuItem_Click(object sender, EventArgs
79507963
ImportFromSHP(ofd.FileName);
79517964
ofd.Dispose();
79527965
}
7966+
7967+
private object kmzl_temp;
7968+
private int kmzl_trackingItem;
7969+
private bool kmzl_checked;
7970+
7971+
private void kmzLayers_MouseUp(object sender, MouseEventArgs e)
7972+
{
7973+
if (kmzLayers.SelectedIndex < 0) return;
7974+
if (kmzl_temp != null)
7975+
{
7976+
int tempInd = kmzLayers.SelectedIndex;
7977+
if ((tempInd >= 0) && (kmzl_trackingItem != tempInd))
7978+
{
7979+
kmzLayers.Items.RemoveAt(kmzl_trackingItem);
7980+
kmzLayers.Items.Insert(tempInd, kmzl_temp);
7981+
kmzLayers.SelectedIndex = tempInd;
7982+
kmzLayers.SetItemChecked(tempInd, kmzl_checked);
7983+
};
7984+
kmzLayers.Cursor = Cursors.Default;
7985+
kmzl_temp = null;
7986+
kmzLayers.MovingItem = null;
7987+
};
7988+
}
7989+
7990+
private void kmzLayers_MouseDown(object sender, MouseEventArgs e)
7991+
{
7992+
if (kmzLayers.SelectedIndex < 0) return;
7993+
7994+
if ((Control.ModifierKeys & Keys.Alt) == Keys.Alt)
7995+
{
7996+
kmzLayers.Cursor = Cursors.Hand;
7997+
kmzl_trackingItem = kmzLayers.SelectedIndex;
7998+
if (kmzl_trackingItem >= 0)
7999+
{
8000+
SortByMouse();
8001+
kmzl_temp = kmzLayers.Items[kmzl_trackingItem];
8002+
kmzl_checked = kmzLayers.GetItemChecked(kmzl_trackingItem);
8003+
kmzLayers.MovingItem = kmzl_temp;
8004+
};
8005+
};
8006+
}
79538007
}
79548008

79558009
public class FilesListBox : CheckedListBox
@@ -8176,7 +8230,7 @@ protected override void OnDrawItem(DrawItemEventArgs e)
81768230
{
81778231
bool isChecked = GetItemChecked(e.Index);
81788232
bool isSelected = ((e.State & DrawItemState.Selected) == DrawItemState.Selected);
8179-
KMLayer kml = (KMLayer)this.Items[e.Index];
8233+
KMLayer kml = (KMLayer)this.Items[e.Index];
81808234

81818235
if (isChecked)
81828236
{
@@ -8192,6 +8246,13 @@ protected override void OnDrawItem(DrawItemEventArgs e)
81928246
e.Graphics.FillRectangle(kml.placemarks > 0 ? Brushes.Yellow : Brushes.LightGoldenrodYellow, e.Bounds);
81938247
};
81948248

8249+
if ((MovingItem != null) && isSelected)
8250+
{
8251+
e.Graphics.FillRectangle(Brushes.Fuchsia, e.Bounds);
8252+
if(isChecked) e.Graphics.DrawString("v", new Font(e.Font, FontStyle.Bold), isSelected ? SystemBrushes.HighlightText : SystemBrushes.WindowText, new PointF(dx + 1, e.Bounds.Top));
8253+
kml = (KMLayer)MovingItem;
8254+
};
8255+
81958256
Pen myp = new Pen(new SolidBrush(Color.FromArgb(230,230,250)));
81968257
myp.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
81978258
e.Graphics.DrawLine(myp, new Point(e.Bounds.Left, e.Bounds.Bottom - 1), new Point(e.Bounds.Right, e.Bounds.Bottom - 1));
@@ -8208,18 +8269,18 @@ protected override void OnDrawItem(DrawItemEventArgs e)
82088269

82098270
// DRAW VERT
82108271
e.Graphics.DrawLine(myp, new Point(offset + txtwi, e.Bounds.Top), new Point(offset + txtwi, e.Bounds.Bottom - 1));
8211-
offset += 4;
8272+
offset += 4;
82128273

82138274
// DRAW LAYER NO
82148275
string layNo = kml.id.ToString("000") + " in";
82158276
e.Graphics.DrawString(layNo, e.Font, isSelected ? SystemBrushes.HighlightText : Brushes.Silver, new Rectangle(offset + txtwi, e.Bounds.Top, e.Bounds.Width - offset - txtwi, e.Bounds.Height), StringFormat.GenericTypographic);
8216-
txtwi += (int)e.Graphics.MeasureString(layNo + ".", e.Font, 0, StringFormat.GenericTypographic).Width;
8277+
txtwi += (int)e.Graphics.MeasureString(layNo + ".", e.Font, 0, StringFormat.GenericTypographic).Width;
82178278

82188279
// DRAW FILE NAME
82198280
e.Graphics.DrawString(kml.file.src_file_nme, e.Font, isSelected ? SystemBrushes.HighlightText : Brushes.Maroon, new Rectangle(offset + txtwi, e.Bounds.Top, e.Bounds.Width - offset - txtwi, e.Bounds.Height), StringFormat.GenericDefault);
82208281
txtwi += GetFileLength(e.Index, e.Font, e.Graphics);
8221-
if (txtwi < n_W_f) txtwi = n_W_f;
8222-
8282+
if (txtwi < n_W_f) txtwi = n_W_f;
8283+
82238284
// DRAW VERT
82248285
e.Graphics.DrawLine(myp, new Point(offset + txtwi, e.Bounds.Top), new Point(offset + txtwi, e.Bounds.Bottom - 1));
82258286
offset += 4;
@@ -8236,15 +8297,15 @@ protected override void OnDrawItem(DrawItemEventArgs e)
82368297
string prefCnt = "000000".Remove(0, kml.placemarks.ToString("").Length > 6 ? 0 : kml.placemarks.ToString("").Length);
82378298
string mainCnt = kml.placemarks.ToString("");
82388299
string[] after_text = new string[]{
8239-
"000000".Remove(1, kml.points.ToString("").Length > 6 ? 0 : kml.points.ToString("").Length),
8240-
kml.points.ToString(""),
8241-
"000000".Remove(1, kml.lines.ToString("").Length > 6 ? 0 : kml.lines.ToString("").Length),
8242-
kml.lines.ToString(""),
8243-
"000000".Remove(1, kml.areas.ToString("").Length > 6 ? 0 : kml.areas.ToString("").Length),
8244-
kml.areas.ToString(""),
8245-
copyText,
8246-
descText
8247-
};
8300+
"000000".Remove(1, kml.points.ToString("").Length > 6 ? 0 : kml.points.ToString("").Length),
8301+
kml.points.ToString(""),
8302+
"000000".Remove(1, kml.lines.ToString("").Length > 6 ? 0 : kml.lines.ToString("").Length),
8303+
kml.lines.ToString(""),
8304+
"000000".Remove(1, kml.areas.ToString("").Length > 6 ? 0 : kml.areas.ToString("").Length),
8305+
kml.areas.ToString(""),
8306+
copyText,
8307+
descText
8308+
};
82488309
e.Graphics.DrawString(prefCnt, e.Font, isSelected ? Brushes.Black : Brushes.Silver, new Rectangle(offset + txtwi, e.Bounds.Top, e.Bounds.Width - offset - txtwi, e.Bounds.Height), StringFormat.GenericTypographic);
82498310
txtwi += (int)e.Graphics.MeasureString(prefCnt, e.Font, 0, StringFormat.GenericTypographic).Width;
82508311
e.Graphics.DrawString(mainCnt, e.Font, isSelected ? SystemBrushes.HighlightText : (kml.placemarks == 0 ? Brushes.Red : Brushes.Blue), new Rectangle(offset + txtwi, e.Bounds.Top, e.Bounds.Width - offset - txtwi, e.Bounds.Height), StringFormat.GenericTypographic);
@@ -8259,7 +8320,7 @@ protected override void OnDrawItem(DrawItemEventArgs e)
82598320
txtwi += (int)e.Graphics.MeasureString(after_text[at], e.Font, 0, StringFormat.GenericTypographic).Width;
82608321
if (at % 2 == 1)
82618322
{
8262-
offset += 4;
8323+
offset += 4;
82638324
e.Graphics.DrawLine(myp, new Point(offset + txtwi, e.Bounds.Top), new Point(offset + txtwi, e.Bounds.Bottom - 1));
82648325
offset += 3;
82658326
};
@@ -8278,7 +8339,7 @@ protected override void OnDrawItem(DrawItemEventArgs e)
82788339
bt = isSelected ? SystemBrushes.HighlightText : Brushes.Goldenrod;
82798340
e.Graphics.DrawString(after_text[at], ft, bt, new Rectangle(offset + txtwi, e.Bounds.Top, e.Bounds.Width - offset - txtwi, e.Bounds.Height), StringFormat.GenericTypographic);
82808341
txtwi += (int)e.Graphics.MeasureString(after_text[at], ft, 0, StringFormat.GenericTypographic).Width;
8281-
};
8342+
};
82828343

82838344
// DRAW OBJECTS INFO
82848345
if (isSelected)
@@ -8293,6 +8354,8 @@ protected override void OnDrawItem(DrawItemEventArgs e)
82938354
};
82948355
};
82958356
}
8357+
8358+
public object MovingItem = null;
82968359
}
82978360

82988361
public class KMFile

0 commit comments

Comments
 (0)