Kisebb előrehaladás

This commit is contained in:
Norbi Peti 2017-09-29 21:24:08 +02:00
parent f4fc6d9278
commit 403fde579d
2 changed files with 45 additions and 19 deletions

View file

@ -21,6 +21,9 @@ namespace Orarend
[DataMember] [DataMember]
public string[] Csoportok { get; set; } public string[] Csoportok { get; set; }
[DataMember]
public bool ManuálisanHozzáadott { get; set; }
[DataMember] [DataMember]
public string Azonosító public string Azonosító
{ {

View file

@ -218,6 +218,24 @@ namespace OrarendAndroidApp
handler.Post(() => MaiNaphozGörgetés()); handler.Post(() => MaiNaphozGörgetés());
} }
private (int i, int j, Óra óra, Helyettesítés innen, Helyettesítés ide)? TV2Óra(TextView tv)
{
var ij = (JavaTuple<int, int>)tv.Tag;
int i, j;
Helyettesítés innen, ide;
Óra óra;
if (ij != null)
{
(i, j) = ij;
(innen, ide) = API.HelyettesítésInnenIde(API.Órarend, i, j);
if ((óra = API.Órarend.Órák[i][j]) == null && ide?.ÚjÓra == null)
return null;
}
else
return null;
return (i, j, óra, innen, ide);
}
/// <summary> /// <summary>
/// A cellát nem frissíti, csak a szöveget tünteti el /// A cellát nem frissíti, csak a szöveget tünteti el
/// </summary> /// </summary>
@ -238,26 +256,13 @@ namespace OrarendAndroidApp
var tv = (TextView)sender; var tv = (TextView)sender;
if (selected != null && selected != sender) if (selected != null && selected != sender)
selected.SetBackgroundResource(DarkTheme ? Resource.Drawable.cell_shape_dark : Resource.Drawable.cell_shape_light); selected.SetBackgroundResource(DarkTheme ? Resource.Drawable.cell_shape_dark : Resource.Drawable.cell_shape_light);
Óra óra; var x = TV2Óra(tv);
Helyettesítés helyettesítésInnen = null; if (x == null)
Helyettesítés helyettesítésIde = null;
var ij = (JavaTuple<int, int>)tv.Tag;
int i, j;
if (ij != null)
{
(i, j) = ij;
(helyettesítésInnen, helyettesítésIde) = API.HelyettesítésInnenIde(API.Órarend, i, j);
if ((óra = API.Órarend.Órák[i][j]) == null && helyettesítésIde?.ÚjÓra == null)
{
deselect();
return;
}
}
else //TODO: Metódus tv --> óra
{ {
deselect(); deselect();
return; return;
} }
var (i, j, óra, helyettesítésInnen, helyettesítésIde) = x?.ToTuple();
tv.SetBackgroundResource(DarkTheme ? Resource.Drawable.cell_shape_selected_dark : Resource.Drawable.cell_shape_selected_light); tv.SetBackgroundResource(DarkTheme ? Resource.Drawable.cell_shape_selected_dark : Resource.Drawable.cell_shape_selected_light);
selected = tv; selected = tv;
var kivora = FindViewById<TextView>(Resource.Id.kivoraTV); var kivora = FindViewById<TextView>(Resource.Id.kivoraTV);
@ -298,12 +303,19 @@ namespace OrarendAndroidApp
private void ÓraContextMenuCreated(object sender, View.CreateContextMenuEventArgs e) private void ÓraContextMenuCreated(object sender, View.CreateContextMenuEventArgs e)
{ {
//Toast.MakeText(this, "Ye! " + sender, ToastLength.Long).Show();
switch (sender) switch (sender)
{ {
case TextView tv: case TextView tv:
var ij = (JavaTuple<int, int>)tv.Tag; var x = TV2Óra(tv);
e.Menu.Add("") Óra óra;
if (x != null)
(_, _, óra, _, _) = x?.ToTuple();
else
óra = null;
if (óra == null)
{ //TODO
ÓraContextItemData.Add(e.Menu.Add("Hozzáadás"), () => StartActivity(new Intent(this, typeof(SettingsActivity))));
}
break; break;
default: default:
Hiba("Ismeretlen küldő a menühöz!"); Hiba("Ismeretlen küldő a menühöz!");
@ -311,6 +323,17 @@ namespace OrarendAndroidApp
} }
} }
private Dictionary<IMenuItem, Action> ÓraContextItemData = new Dictionary<IMenuItem, Action>();
private T ctor<T>() where T : new() => new T();
public override bool OnContextItemSelected(IMenuItem item)
{
bool ret = ÓraContextItemData.ContainsKey(item);
if (ret)
ÓraContextItemData[item]();
return ret;
}
public override bool OnCreateOptionsMenu(IMenu menu) public override bool OnCreateOptionsMenu(IMenu menu)
{ {
MenuInflater.Inflate(Resource.Menu.main_menu_light, menu); MenuInflater.Inflate(Resource.Menu.main_menu_light, menu);