Newb menu sub-submenu else if question

Hi all,
I have been at this for a couple of days now and seem stuck. I am trying to create a menu for a PID controller. I am using the Alexander Brevig Menu library. I currently can successfully navigate through menu headings, then into the 1st layer of submenus and another layer of submenus under the 1st layer of submenus.
I want to be able to navigate to "Tuning", press the enter button which takes me into a submenu that consists of "P", "I" and "D". When I press enter on each of those it then takes me into "P +/-" (under P), and the same for I (I+/-) and D (D+/-).
Then, the idea is, if I press the Right button the value of P increments, if I press the Left button the value of P decrements. There are no menu items to the right of "P +/-" so I think this should be possible. I have only written the boolean else if statement for the P+/- so far, to test if it worked (it didn't).
This is the code I am using presently. From the googling I've done I think the else if statement 5 lines from the bottom is correct, but since it is not incrementing or decrementing, maybe it's not.

Any help would be greatly appreciated! :slight_smile:

MenuBackend menu = MenuBackend(menuUsed,menuChanged);
//initialize menuitems
 MenuItem menu1Item1 = MenuItem("SetPointWhole");
      MenuItem menuItem1SubItem1 = MenuItem("190");
      MenuItem menuItem1SubItem2 = MenuItem("191");
MenuItem menu1Item2 = MenuItem("SetPointDecimal");
      MenuItem menuItem2SubItem1 = MenuItem(".00");
      MenuItem menuItem2SubItem2 = MenuItem(".25");
      MenuItem menuItem2SubItem3 = MenuItem(".50");
      MenuItem menuItem2SubItem4 = MenuItem(".75");
MenuItem menu1Item3 = MenuItem("Temp Scale");
      MenuItem menuItem3SubItem1 = MenuItem("Celcius");    
      MenuItem menuItem3SubItem2 = MenuItem("Fahrenheit"); 
  MenuItem menu1Item4 = MenuItem("Tuning");
      MenuItem menuItem4SubItem1 = MenuItem("P");
        MenuItem menuItem4SubItem1SubItem1 = ("P +/-");

setup() {
 menu.getRoot().add(menu1Item1);
  menu1Item1.addRight(menu1Item2).addRight(menu1Item3).addRight(menu1Item4);
  menu1Item1.add(menuItem1SubItem1).addRight(menuItem1SubItem2).addRight(menuItem1SubItem3).addRight(menuItem1SubItem4).addRight(menuItem1SubItem5).addRight(menuItem1SubItem6).addRight(menuItem1SubItem7).addRight(menuItem1SubItem8).addRight(menuItem1SubItem9).addRight(menuItem1SubItem10).addRight(menuItem1SubItem11).addRight(menuItem1SubItem12).addRight(menuItem1SubItem13).addRight(menuItem1SubItem14).addRight(menuItem1SubItem15).addRight(menuItem1SubItem16).addRight(menuItem1SubItem17).addRight(menuItem1SubItem18);
  
menu1Item2.add(menuItem2SubItem1).addRight(menuItem2SubItem2).addRight(menuItem2SubItem3).addRight(menuItem2SubItem4);
  menu1Item3.add(menuItem3SubItem1).addRight(menuItem3SubItem2);//.addRight(menuItem3SubItem3).addRight(menuItem3SubItem4).addRight(menuItem3SubItem5).addRight(menuItem3SubItem6).addRight(menuItem3SubItem7).addRight(menuItem3SubItem8).addRight(menuItem3SubItem9).addRight(menuItem3SubItem10);
  menu1Item4.add(menuItem4SubItem1).addRight(menuItem4SubItem2).addRight(menuItem4SubItem3);//.addRight(menuItem4SubItem4).addRight(menuItem4SubItem5).addRight(menuItem4SubItem6).addRight(menuItem4SubItem7).addRight(menuItem4SubItem8).addRight(menuItem4SubItem9).addRight(menuItem4SubItem10);

menuItem4SubItem1.addAfter(menuItem4SubItem1SubItem1).addAfter(menuItem4SubItem2SubItem1).addAfter(menuItem4SubItem3SubItem1);

void loop () {
 readButtons();    //I split button reading and navigation in two procedures because
 navigateMenus();  //in some situations I want to use the button for other purpose (eg. to change some settings)
}

void menuChanged(MenuChangeEvent changed) {
    MenuItem newMenuItem = changed.to;
    char* newMenuItemName = const_cast<char *>(newMenuItem.getName());
    int newSetting = 0;
    
    //get the destination menu
     lcd.setCursor(0, 1);

 }else if(newMenuItemName == "P"){
      lcd.print("P");
      lcd.print("     ");
      }else if(newMenuItemName == "I"){
      lcd.print("I");
      lcd.print("     ");
      }else if(newMenuItemName == "D"){
      lcd.print("D");
      lcd.print("     ");
     }else if(newMenuItemName == "P +/-"){
      lcd.print("P +/-");
      lcd.print("     ");
    } else if(newMenuItemName == "P +/-" && buttonPinRight == HIGH){   //buttonPinEnter == HIGH){   
      Kp = Kp ++;
      lcd.setCursor(7,1);
      lcd.print("P=");
      lcd.print(Kp);
     }
   }
}

Update:- So I think what I need to do is in when the user navigates the menu into the branch for adjusting the value of P (for example), a variable (changeP) is set to "1".
So I think then I need to write a new function (my first time writing a function) that reads the variable "changeP" into "adjustP" and then looks at the value of "adjustP" and also looks at buttonPinRight. If the variable "adjustP" is set to 1 and buttonPinRight is HIGH then it increments the value of "Kp" (the variable of the value of P)

So the function I have written looks like this

int changeTuning(int changeP=0, int Kp=0){
    adjustP = changeP;
    if ((adjustP == 1) && (buttonPinRight == HIGH)){
      Kp ++;
      lcd.setCursor(7,1);
      lcd.print(Kp);
    }}

Then I place the function in the loop

void loop() {
   
    readButtons();    //I split button reading and navigation in two procedures because
    navigateMenus();  //in some situations I want to use the button for other purpose (eg. to change some settings)
    changeTuning();
} //end loop

Now when I upload the code, I cannot get it to increment the value of Kp through the menu when I navigate into "P +/-" and press the Right button.

Please can anyone point me in the right direction? Am I at least on the right track?