Plane Polar and Rectangular Coordinates

Manipulate[
DynamicModule[{},
arctan=ArcTan;
Grid[{{
LocatorPane[
Switch[gridtype,
1,Dynamic[pt,(pt=Round[#])&],
2,Dynamic[pt,(pt=Round[Norm[#]]{Cos[Round[ArcTan@@#,Pi/12]],Sin[Round[ArcTan@@#,Pi/12]]})&],
3,Dynamic[pt]
],
Dynamic@Graphics[{
If[MemberQ[showgrid,1],
{{Lighter[Brown,0.5],Table[Line[{{n,-10},{n,10}}],{n,-10,10,1}]},
{Lighter[Brown,0.5],Table[Line[{{-10,n},{10,n}}],{n,-10,10,1}]}
},{}],
If[MemberQ[showgrid,2],
{{Lighter[Blue,0.5],Table[Circle[{0,0},r],{r,1,15,1}]},
{Lighter[Blue,0.5],Table[Line[{{0,0},15{Cos[t],Sin[t]}}],{t,0,2Pi,Pi/12}]}
},{}],
If[MemberQ[showcoords,1],{Thick,Brown,{Line[{{pt[[1]],-10},{pt[[1]],10}}],Line[{{-10,pt[[2]]},{10,pt[[2]]}}]}},{}],
If[MemberQ[showcoords,2],{Thick,Blue,{Circle[{0,0},Norm[pt]],Line[{{0,0},10pt}]}},{}],
{Black,PointSize[0.02],Point[pt]}
},Axes->True,Ticks->{Range[-10,10,2],Range[-10,10,2]},PlotRange->10,ImageSize->325],
Appearance->None
],
Dynamic@Item[Text@Column[{If[MemberQ[showcoords,1],Style[
If[gridtype==2,
(*polar*)Column[{Row[{Style["x",Italic]," = ",pt[[1]]," = ",N[pt[[1]]]}],Row[{Style["y",Italic]," = ",pt[[2]]," = ",N[pt[[2]]]}]},ItemSize->{Automatic,2},Alignment->{Left,Center}],
(*non polar*)Column[{Row[{Style["x",Italic]," = ",pt[[1]]}],Row[{Style["y",Italic]," = ",pt[[2]]}]}]],
14,Brown],""],"","",
If[MemberQ[showcoords,2],Style[Column[{Row[{Style["r",Italic]," = ",Simplify[Norm[pt]],If[gridtype==1,Row[{" = ",N[Simplify[Norm[pt]]]}],""]}],Row[{"ϕ = ",If[pt=={0,0},0,Row[{If[gridtype==2,Round[Mod[Apply[ArcTan,pt],2Pi],Pi/12],TraditionalForm@Mod[Apply[ArcTan,pt],2Pi]]," = ",N[Mod[Apply[ArcTan,pt],2Pi]/Pi]," π"}]]}]
},ItemSize->{Automatic,1.5}],14,Blue],""]
},Alignment->Top],ItemSize->26,Alignment->Left]
}},ItemSize->{{28,15},Automatic},Alignment->{Left,Center}]],

{{pt,{4,4}},{-10,-10},{10,10},None},
{{showgrid,{},"show grid"},{1->" rectangular",2->" polar"},ControlType->CheckboxBar},
{{showcoords,{1,2},"show coordinates"},{1->" rectangular",2->" polar"},ControlType->CheckboxBar},
{{gridtype,1,"grid snap"},{1->" rectangular",2->" polar",3->" do not snap to grid"},
ControlType->RadioButtonBar},AutorunSequencing->{2,3,4}
]